所以我的代码在某种程度上有效。我有一个滑块,有一些左边和一些右键。
我要做的是确保它不会以某种方式滑过某个点,因为会有固定数量的幻灯片。所以我引入了一个名为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>
答案 0 :(得分:2)
此代码由内而外。您应该在点击功能>中执行宽度检查 。
$("#slideLeft").click(function(){
if(slideWidth == 0) {
答案 1 :(得分:2)
当document.ready
仍为0时,if slideWidth
上的if检查仅运行一次,因此click事件永远不会附加到slideRight按钮。
此外,if检查需要在click事件中移动,因此每次单击其中一个按钮(左或右)时它都会运行。
另外,每个按钮只需附加一次点击事件。我可以看到你试图做两次。