2011-12-29 3 views
-2

jquery로 슬라이딩을 움직여야합니다. 그러나 단지 3 번. 나는이 코드를 썼다. 그러나 이것은 3 번 이상입니다. 문제를 수정하거나 다른 코드를 알려주십시오. 미리 감사드립니다.자바 스크립트에서 3 번만 특정 코드를 실행해야합니다.

$(document).ready (function() { 
    var i=0; 
    while (i<3) {      
     $('a.nextbtn').click (function() { 
      $('ul.post-cat-sliding').stop().animate({"left": "-=596"},1500); 
     }); 
     i++; 
    } 
}); 

는 또한 내가 .. 내가 돌아 가야 이전 버튼 슬라이드를 클릭 그래서 만약 이전 버튼이 있습니다.

+0

? 애니메이션을 클릭 이벤트에 바인딩하는 중입니다. 사용자가 링크를 3 번만 클릭하도록 하시겠습니까? BTW 현재 코드는'a.nextbtn' 엘리먼트를 클릭 할 때마다 같은 코드를 3 번 ​​실행합니다. – Jasper

+0

4 개의 항목이있는 슬라이드 쇼가 있다고 가정합니다 ("다음"을 클릭하면 3 번만 작동합니다). 나는 완전히 다른 접근법을 취할 것입니다. 허용 된 클릭 수를 세지 마십시오. 그러나 각 클릭에 대해 마지막 슬라이드에 있는지 여부를 확인하여 아무 것도하지 않습니다. – JJJ

답변

2

현재 코드를 사용하면 세 번의 클릭으로 제한하지 않고 하나의 버튼으로 3 회의 클릭 이벤트를 실제로 연결하고 있습니다. 따라서 현재 코드를 사용하면 슬라이더가 한 번의 클릭으로 3 개의 슬라이드를 전달할 것입니다.

아래 - 아래 코드를 사용해보십시오 :

$(document).ready (function() { 
    var i=0; 
    $('a.nextbtn').click (function() { 
     if(i < 3) { 
     $('ul.post-cat-sliding').stop().animate({"left": "-=596"},1500); 
     i++; 
     } 
    }); 
}); 
+0

완벽. 굉장해. Khan, 고마워. –

0

내가 대신 루프를 사용하십시오 :

$(document).ready(function(){ 
    $('a.nextbtn').click (function(){ 
     for(var i = 0; i<3;i++) 
     { 
      $('ul.post-cat-sliding').stop().animate({"left": "-=596"},1500); 
     } 
    }); 
}); 

편집 : 나는 게시물을 읽을 때에만 루프와 conserned되었다. nextbtn을 클릭했을 때 애니메이션을 3 번 실행하려면 위 코드를 사용해야합니다. 코드를 다시 사용할 수 있습니다 a.prevbtn

0

for(var i = 0; i < 3; i++) 힘이 너무 자세한 것 같다.

은 아마 당신은 이러한 접근 방식의 일부를 같은 수 있습니다

for(i in [1,2,3]){ 
    console.log('three times') 
} 

또는

for(i in new Array(3).fill()){ 
    console.log('three times') 
} 

또는`단지 3 times`을 의미합니까 무엇

for(i in '...'.split('')){ 
    console.log('three times') 
} 
관련 문제