我正在使用一个基本的自定义滑块,它使用jquery完美运行。 现在,我想使用" next"和" prev"滑块只在滑块中起作用一次,第二次当用户点击它在页面中某处滚动的链接时。我找到了一个代码如下:
var position = 0;
$('#control_prev').click(function () {
if (position > 0) { ///if user is on second slide allow him back to default slide . (0 is the default slide)
moveLeft();
position -= 1;
}
else if(position = 0){ /// if user tries to go to previous while on default slide nagivate him to home section.
$('.control_prev').attr('href', '#home');
$('.control_prev').addClass( "secondary url" );
position -= 1;
}
alert(position);
});
$('#control_next').click(function () {
if (position = 0) { // if a user tries to view second slide while on default slide we allow him.
moveRight();
position += 1;
}
else if(position > 0){ // if a user is on second slide and wants to go next slide we navigate him to a different section.
$('.control_next').attr('href', '#business-events');
$('.control_next').addClass( "secondary url" );
position += 1;
}
alert(position);
});
我正在使用alert()检查位置值,但值始终为0。 声明变量是一个问题还是你看到逻辑本身存在缺陷? 请建议我一种方法,我可以解决这个问题。提前谢谢。
-Cheers -max
答案 0 :(得分:0)
问题在于将值分配(使用单个等号运算符=
完成)和等价比较(使用双等号运算符==
完成)。您正在使用if(position = 0)
,始终返回false 。相反,请使用==
:if(position == 0)
。
p / s:通常建议您使用console.log()
代替alert()
作为latter will break JS execution。