2010-08-07 5 views
1

J'ai un problème avec l'animation, je veux animer div quand je clique sur lui, mais je ne veux pas animer quand je clique sur l'autre à l'intérieur de ce div.Animer div quand on clique mais pas animer quand on clique sur des éléments à l'intérieur de ce div

moi est ici le site de test: http://kni.prz.rzeszow.pl/~plum/portfolio/index.html

Kontakt div est que ce que je cherche, mais quand je clique sur textareas div est animée. Alors c'est le problème. Thx & regars.

code sur mon site, mais c'est-fragment de Animer div id = "kontakt":

$(function(){ 
$("#kontakt").click(function(){ 
    //zabezpieczenie przed animowaniem wielu div'ów na raz 
      if ($('div').is(':animated')) { 
     return; 
    } 
      //główna animacja odpowiedzialna za powiększanie i zmniejszanie div'a 
    if (kontakt == 0) { 
     kontakt = 1; 
     $(this).fadeTo(500, 0.33).delay(500).fadeTo(500, 1); 
     $(this).animate({ 
      left: '+=205', 
      top: '-=205' 
     }, 1000, function(){ 
      $(this).animate({ 
       width: 400, 
       height: 400, 
       left: '-=205' 
      }, 1000, function(){ 
       $.get('kontakt.html', function(data){ 
        $('#kontakt').html(data); 
       }); 
      }); 
     }); 
    } 
    else 
     if (kontakt == 1) { 
      kontakt = 0; 
      $(this).html('<a href="#">Kontakt</a>'); 
      $(this).animate({ 
       left: '+=205', 
       width: 195, 
       height: 195 
      }, 1000, function(){ 
       $(this).animate({ 
        left: '-=205', 
        top: '+=205' 
       }, 1000); 
      }); 
     } 
});}); 

Cela ne me permet pas:

$(':text, textarea').click(function(e){ 
e.stopPropagation(); 
alert('to dziala'); 
return true;}); 

Répondre

6

Vous pouvez modifier votre gestionnaire légèrement #kontakt pour vérifier la cible de l'événement, comme celui-ci:

$("#kontakt").click(function(e) { 
    if(!$(e.target).is('div, a')) return; 

en utilisant .is() nous vérifions si vous avez cliqué sur le <div> directement, ou le <a> (l'icône de courrier). Si aucun d'eux n'est vrai, nous sautons dehors et ne faisons rien d'autre :)

Questions connexes