【发布时间】:2016-01-15 11:38:33
【问题描述】:
我试图在 jQuery 中声明以下内容:如果 'LinkedDiv1' 或 'LinkedDiv2' 或 'LinkedDiv3' 或 'LinkedDiv4' 中的任何一个在 left:0 和 left:650 之间,那么所有链接 ('Link1', ' Link2'、'Link3' 和 'Link4')应关闭。
这样,一旦我按下任何一个链接,我就无法同时激活另一个链接。由于每个链接都会导致 div 从右侧(左侧:650 像素)移动到屏幕(左侧:0 像素);这个想法是,如果任何 LinkedDiv 不是 650 像素或 0 像素,那是因为它必须在移动,因此已被相关链接激活。
我尝试了以下方法,但似乎不起作用:
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/
尽管对我的问题(目前我一次可以点击多个链接)暂时停用其他链接的任何更好的解决方案是可取的;看看我提出的解决方案为什么不起作用也会很有趣。
【问题讨论】:
-
我会使用带有
animate()方法的回调函数来处理链接,而不是检查元素left 的值。请参阅start、complete和done选项以获取.animate()。
标签: jquery css syntax hyperlink onclick