Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery随机隐藏/显示不工作?_Jquery - Fatal编程技术网

jQuery随机隐藏/显示不工作?

jQuery随机隐藏/显示不工作?,jquery,Jquery,我在这里束手无策。我有一个.each()函数,可以循环并有条件地隐藏/显示固定宽度div中的一列。如果显示该列,则会收缩前一列,以便所有内容都适合,并且在隐藏新列时会将其扩展到其原始宽度。我的代码在80%的时间内都能正常工作,但有时完全是随机的,它不工作,显示新列,并展开前面的列。如果我只是点击屏幕上的其他地方,这是立即修复。发生了什么事 function doLoop(condition) { if (condition) { $(".utility-split

我在这里束手无策。我有一个.each()函数,可以循环并有条件地隐藏/显示固定宽度div中的一列。如果显示该列,则会收缩前一列,以便所有内容都适合,并且在隐藏新列时会将其扩展到其原始宽度。我的代码在80%的时间内都能正常工作,但有时完全是随机的,它不工作,显示新列,并展开前面的列。如果我只是点击屏幕上的其他地方,这是立即修复。发生了什么事

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();});