jQuery随机隐藏/显示不工作?
我在这里束手无策。我有一个.each()函数,可以循环并有条件地隐藏/显示固定宽度div中的一列。如果显示该列,则会收缩前一列,以便所有内容都适合,并且在隐藏新列时会将其扩展到其原始宽度。我的代码在80%的时间内都能正常工作,但有时完全是随机的,它不工作,显示新列,并展开前面的列。如果我只是点击屏幕上的其他地方,这是立即修复。发生了什么事jQuery随机隐藏/显示不工作?,jquery,Jquery,我在这里束手无策。我有一个.each()函数,可以循环并有条件地隐藏/显示固定宽度div中的一列。如果显示该列,则会收缩前一列,以便所有内容都适合,并且在隐藏新列时会将其扩展到其原始宽度。我的代码在80%的时间内都能正常工作,但有时完全是随机的,它不工作,显示新列,并展开前面的列。如果我只是点击屏幕上的其他地方,这是立即修复。发生了什么事 function doLoop(condition) { if (condition) { $(".utility-split
function doLoop(condition) {
if (condition) {
$(".utility-split-rmdr").each(function(index) {
$(this).prev().animate({width: "97px"}, 200);
$(this).hide();
});
} else {
$(".utility-split-rmdr").each(function(index) {
$(this).hide();
$(this).prev().animate({width: "130px"}, 200);
});
}
}
尝试一下:
function doLoop(condition) {
if(!$(".utility-split-rmdr").is(':animated')) {
if (condition) {
$(".utility-split-rmdr").each(function(index) {
$(this).prev().animate({width: "97px"}, 200);
$(this).hide();
});
} else {
$(".utility-split-rmdr").each(function(index) {
$(this).hide();
$(this).prev().animate({width: "130px"}, 200);
});
}
}
}
这将只允许在当前未设置任何列动画的情况下执行代码
如果它仍然中断,至少您知道这不是因为动画干扰。您的
条件是否基于其他列的可见性?检查console中的条件值。。。我们无法从代码显示中知道是什么导致了问题?您是否有办法制作一个JSFIDLE?向我们展示发生了什么/复制了问题?此外,整个代码循环应该完全重写为类似这样的内容:$(“.utility split rmdr”)。每个(函数(索引){$(this.prev()。动画({width:condition?”97px):“130px”},200);$(this.hide();});