2013-10-28 2 views
0

jquery 스크립트가 작동하지 않는 이유를 모르겠습니다. 여기 는 샘플입니다 :JQUERY slidetoggle이 작동하지 않습니다.

$(document).ready(function(){ 
     $('#mygtukas-js').click(function(){ 
     $(this).data('clicked', true); 
     }); 

     if($('#mygtukas-js').data('clicked')){ 
     $(this).next('#turinys').slideToggle(500); 
     } 
     else { 
     $('#turinys').hide(); 
     } 
    }); 

JSFIDDLE : http://jsfiddle.net/5NmK9/

+0

당신이 "작동하지 않는"무엇을 의미합니까? – melancia

+0

내 div가 미끄러지지 않습니다. : –

+1

jsfiddle.net에 전체 코드를 게시하고 버그를 재현 할 수 있습니까? – Latheesan

답변

1

귀하의 slideToggle 블록이 document.ready에 한 번이라고합니다. # mygtukas-js를 클릭하면 clicked가 true로 변경되지만 if/else 블록은 호출되지 않습니다.

클릭 후 호출되는 코드 내에 if/else 블록이 있거나 자체 이벤트 리스너 내에 있어야합니다.

1

이 충분해야합니다

$(document).ready(function(){ 
    $('#mygtukas-js').on("click", function() { 
     // The line below can be removed if you're not using the data 
     // value anywhere else. 
     $(this).data('clicked', true); 

     $(this).next('#turinys').slideToggle(500); 
    }); 
}); 

.slideToggle() 표시/숨기기 할 것입니다.

데모 : http://jsfiddle.net/5NmK9/1/

+0

다른 곳에서 사용하지 않는 한 '클릭 된'값을 버리는 것이 좋습니다. 간단한 slideToggle이 상태를 추적합니다. –

+0

@MikeManfrin. – melancia

관련 문제