我想在jQuery中声明以下内容:如果任何'LinkedDiv1'或'LinkedDiv2 '或'LinkedDiv3'或'LinkedDiv4'位于left:0和left:650之间,则所有链接('Link1','Link2','Link3'和'Link4')都应关闭。尝试暂时禁用所有链接,当一个链接按下使用if语句(即如果div之间左:650px和0px,禁用所有链接)
这是因为一旦我按任何一个链接,我就不能再同时激活另一个链接。由于每个链接都会导致div从右侧(左侧:650px)移动到屏幕上(左侧:0px);想法是,如果任何LinkedDiv不是650px或0px,那是因为它必须移动,因此已被相关链接激活。
我曾尝试以下,但它似乎并没有工作:
if (!$('#linkedDiv1').css('left') == '0px' && !$('#linkedDiv1').css('left') == '650px'){
$(".links").off('click');
}
else if (!$('#linkedDiv2').css('left') == '0px' && !$('#linkedDiv2').css('left') == '650px'){
$(".links").off('click');
}
else if (!$('#linkedDiv3').css('left') == '0px' && !$('#linkedDiv3').css('left') == '650px'){
$(".links").off('click');
}
else if (!$('#linkedDiv4').css('left') == '0px' && !$('#LinkedDiv4').css('left') == '650px'){
$(".links").off('click');
}
这里是代码中的小提琴(LinkedDiv1相当于#rightContentService; LinkedDiv2到#rightContentSweaters; LinkedDiv3到#rightContentContact; LinkedDiv4到#rightContentSeamstress) -
全屏:https://jsfiddle.net/8eah0fvm/1/embedded/result/ 小提琴:https://jsfiddle.net/8eah0fvm/1/
虽然我的问题没有更好的办法(在第m我可以一次按多个链接)暂时停用其他链接是最好的;看到为什么我提出的解决方案不起作用也很有趣。
我会用一个回调函数与'动画()'方法来处理链接,而不是检查元素_left_值。查看''.animate()'](http://api.jquery.com/animate/#animate-properties-options)的'start','complete'和'done'选项。 – hungerstar