Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
由于AJAX延迟,jQuery元素设置为hidden,而不是catching with是可见的_Jquery_Ajax_Woocommerce - Fatal编程技术网

由于AJAX延迟,jQuery元素设置为hidden,而不是catching with是可见的

由于AJAX延迟,jQuery元素设置为hidden,而不是catching with是可见的,jquery,ajax,woocommerce,Jquery,Ajax,Woocommerce,我正在使用以下代码监视两个选择菜单上的更改事件。根据所做的选择确定是否显示第三个元素 因为.single_variation_wrap'的文本首先用AJAX更新,然后它的显示被切换,如果我不等待一秒钟,.single_variation_wrap`的可见性在正确的时间被捕获 因此,我设置了一个延迟,让AJAX触发并更新文本,然后在所有条件触发完成并查看元素是否隐藏或可见时,切换元素显示 是否有jQuery方法来监控AJAX,以便更快地完成?在Network-XHR下的开发工具中没有显示任何内容

我正在使用以下代码监视两个选择菜单上的更改事件。根据所做的选择确定是否显示第三个元素

因为.single_variation_wrap'的文本首先用AJAX更新,然后它的显示被切换,如果我不等待一秒钟,.single_variation_wrap`的可见性在正确的时间被捕获

因此,我设置了一个延迟,让AJAX触发并更新文本,然后在所有条件触发完成并查看元素是否隐藏或可见时,切换元素显示

是否有jQuery方法来监控AJAX,以便更快地完成?在Network-XHR下的开发工具中没有显示任何内容

$("#interface, #pa_input-current").change(function() {
    var wto;
    wto = setTimeout(function() {
        if ($(".single_variation_wrap").is(":visible")) {
            alert('visible');
        }
        else {
            alert('hidden');
        }
    }, 1000);
});

您可以使用success函数来实现这一点

正在使用的成功函数示例:

$("button").click(function(){
    $.ajax({url: "demo_test.txt", success: function(result){
        if ($(".single_variation_wrap").is(":visible")) {
            alert('visible');
        } else {
            alert('hidden');
        }
    }});
});

你能不能给AJAX添加一个success,然后毫不拖延地把代码放在那里?@jonmrich我想搜索AJAX函数并使用success事件,但这可能意味着修改核心代码。我希望在ajax完成后,会有另一种方法开始检查可见性