2011-02-28 4 views
0
$(document).ready(function(){ 
$("li::nth-child(1)").click(function() { 
     $("li").unbind('click'); 
     $(".content").fadeIn('slow'); 
     if ($("#what_image").is(':visible')) { 
     $("#what_image").fadeOut('slow', function() { 
     $("#what_text").fadeIn('slow'), function() { 
      $("li").bind('click'); 
      ... 

언 바인드 작동 ... 모든 "li"메뉴 요소를 클릭 할 수 없습니다. 애니메이션이 멈 추면 모든 "li"요소를 바인딩하는 것을 좋아합니다. 내가 요소를 바인딩 할 수 없습니다 왜냐하면 아무 소용이 는 ... 뭔가언 바인드/바인드가 작동하지 않음

답변

0
$("li").bind('click'); 

는 그 선은 클릭에 무엇을 말하는되지 않는다 ... 잘못된해야합니다. 수행 할 기능에 바인드해야합니다.

이 같은
$(document).ready(function(){ 
    function FadeLi() { 
     $("li").unbind('click'); 
     $(".content").fadeIn('slow'); 
     if ($("#what_image").is(':visible')) { 
      $("#what_image").fadeOut('slow', function() { 
       $("#what_text").fadeIn('slow'), function() { 
       $("li").bind('click', FadeLi); // Binding to the same function 
       } 
      } 
     } 
    } 

    $("li::nth-child(1)").click(FadeLi);  
} 
+0

내가 애니메이션 중에 바인딩을 해제하려면 그 작동합니다. 그 후 나는 그것이 인 다시 초기 함수 바인딩 할 '$ –

+0

나는 당신이하고 싶은 것을 보여주기 위해 예제를 추가했다. –

+0

찾았습니다 .. ("li :: nth-child (1)"). . 도와 주셔서 감사합니다. "li"요소의 색인을 사용했습니다. –

0

뭔가 작동합니다 :

이 원하는 것 전에 다시는 무엇을하고 있었는지에 바인딩 할 가정

$(document).ready(function(){ 
    function clickHandler() { 
    $("li").unbind('click'); 
    $(".content").fadeIn('slow'); 
    if ($("#what_image").is(':visible')) { 
     $("#what_image").fadeOut('slow', function() { 
     $("#what_text").fadeIn('slow'), function() { 
     $("li").bind('click', clickHandler); 
     ... 
    } 
    $("li::nth-child(1)").click(clickHandler); 

을하지만 나는이 있다는 느낌이 이벤트를 바인딩하고 바인딩 해제하는 것보다 원하는 것을 성취하는 더 좋은 방법입니다.

+0

두 분 덕분에 ... 훌륭한 결과를 얻었습니다. 그러나 문제는 제가 몇 개 있습니다. 뉴 항목. 클릭하면 바인딩 해제되고 바인딩됩니다. 물론 ... 다른 "li"요소는 바인딩 해제 상태로 유지됩니다 ... $ ("li :: nth-child (1)")을 사용합니다. bind ('click', FadeLi); ... –

0

오케이 ... 당신의 도움 덕분에 찾았습니다 !!!

$은 (문서) .ready (함수() {

function FadeLi() {                 
    $("li").unbind('click');               
     var index = $("li").index(this);            

     switch(index)                
      { case 0:                
        $("#what_image").fadeOut('slow', function() {     
        $("#what_text").fadeIn('slow', function() {      
        $("li").bind('click', FadeLi); // Binding to the same function 
         });               
        });                
       break                
       case 1:                
        $("#when_image").fadeOut('slow', function() {     
        $("#when_text").fadeIn('slow', function() {      
        $("li").bind('click', FadeLi); // Binding to the same function 
         });               
        });                

       break  
       . 
       . 
       .               
+0

반복적으로 대신 애니메이션 중 바인딩 및 바인딩 해제 이벤트 핸들러, 이벤트 처리기를 작성하여 애니메이션 중 클릭을 무시하는 이유는 무엇입니까? –