2011-09-21 4 views
1

내 코드는 어느 정도 작동합니다. 슬라이더가 있는데, 왼쪽에는 & 오른쪽 버튼이 있습니다.변수를 사용하여 jquery로 처음부터 자바 스크립트 캐 러셀 슬라이더 코딩하기

내가하려는 것은 고정 된 수의 슬라이드가 있으므로 특정 지점을 지나서 슬라이드 할 수 없는지 확인하는 것입니다. 그래서 저는 현재 마진을 추적하기 위해 사용하려고하는 slideWidth라는 변수를 도입했습니다. 특정 번호에 도달하면 버튼 하나만 작동하게됩니다. 아래의 코드는 변경되지 않는 것 같습니다. 왼쪽 버튼을 무제한으로 사용할 수 있습니다. 아무런 제한도 없습니다.

<script> 
$(document).ready(function() { 

var slideWidth=0; 

if (slideWidth == 0) 
{ 

    $("#slideLeft").click(function(){ 
     $(".slideOverflowHide").animate({"margin-left": "-=1100px"}, "slow"); 
     slideWidth = slideWidth - 1100; 
    }); 

}else if (slideWidth == -3300){ 

    $("#slideRight").click(function(){ 
     $(".slideOverflowHide").animate({"margin-left": "+=1100px"}, "slow"); 
     slideWidth = slideWidth + 1100; 
    }); 

}else{ 

    $("#slideRight").click(function(){ 
     $(".slideOverflowHide").animate({"margin-left": "+=1100px"}, "slow"); 
     slideWidth = slideWidth + 1100; 
    }); 

    $("#slideLeft").click(function(){ 
     $(".slideOverflowHide").animate({"margin-left": "-=1100px"}, "slow"); 
     slideWidth = slideWidth - 1100; 
    }); 

} 

}); 
</script> 

답변

2

이 코드는 바깥입니다. 클릭 기능을 안에 넣고 너비 검사 을 수행해야합니다.

$("#slideLeft").click(function(){ 
    if(slideWidth == 0) { 
2

slideWidth은 여전히 ​​0, 그래서 클릭 이벤트가 slideRight 버튼에 부착 결코 극복 할 때 검사가 한 번만 document.ready에 실행하는 경우.

또한 if 이벤트는 click 이벤트 내에서 이동해야하므로 버튼 (왼쪽 또는 오른쪽) 중 하나를 클릭 할 때마다 실행됩니다.

게다가 버튼 당 한 번만 클릭 이벤트를 첨부하면됩니다. 네가 두 번 해보려한다는 것을 알 수있다.

관련 문제