2015-12-20 5 views
0

J'ai une section sur mon site Web qui a plusieurs cibles d'objectifs pour les visiteurs cliquez pour tirer sur. J'utilise cursor: crosshair pour la section. Je veux faire en sorte que lorsque mon visiteur clique partout dans la section cibles que je veux laisser un message animé bullet_hole.gifTir cibles: Sur un clic de souris -> Leave Bullet Hole.gif

Je suppose que la commande le code serait à l'intérieur div conteneur onmouse cliquez sur créer un div au clic Localisation puis supprimez div après 5 secondes.

Comment écrire le code javascript/jQuery pour cela?

Répondre

2

Pour obtenir l'emplacement du clic dans un conteneur, vous pouvez obtenir les propriétés offsetX et offsetY de l'objet d'événement transmis au gestionnaire de clic jQuery. Vous pouvez ensuite créer un div absolument positionné à cette position qui contient l'image du trou de balle à afficher. De là, vous pouvez utiliser une minuterie pour supprimer ce div après 5 secondes. Quelque chose comme ceci:

$('#target').click(function(e) { 
    $('<div />').addClass('bullet-hole').css({ 
     top: e.offsetY - 5, 
     left: e.offsetX - 5 
    }).appendTo('#target'); 
    setTimeout(removeBulletHole, 5000); 
}); 

function removeBulletHole() { 
    $('#target .bullet-hole:not(:animated):first').fadeOut(function() { 
     $(this).remove(); 
    }); 
} 

Example fiddle

+0

Je copié votre code et cela ne fonctionne pas. j'ai copié le style .bullet trous et collé dans ma feuille de style CSS J'ai copié le javascript et il collé dans mon header.php Inside balises j'ai changé #target à #workcontainer Qui est l'ID #DIV - Je veux les trous de balle dans et il ne fonctionne toujours pas sur mon site. Je ne sais pas pourquoi www.prismasites.com Faites défiler vers le bas jusqu'à ce que vous voyiez les cibles –