Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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_Queue_Delay_Addclass_Removeclass - Fatal编程技术网

Jquery 向队列添加延迟类,但希望在进一步延迟后将其删除

Jquery 向队列添加延迟类,但希望在进一步延迟后将其删除,jquery,queue,delay,addclass,removeclass,Jquery,Queue,Delay,Addclass,Removeclass,我不是Jquery专家,但采用了一个模板,它目前可以工作,但我试图修改它,以便任何添加的延迟类稍后会随着进一步的延迟而消失 这段代码正确地应用了一个数据为indelay ms delay的“动画”类,但希望它稍后删除数据为outdelay ms的“动画”类-尝试将队列链接在一起,但不起作用-应用下面显示的“动画”类的基本代码 jQuery('.sr-animation').each(function() { if (jQuery(window).width() > 700)

我不是Jquery专家,但采用了一个模板,它目前可以工作,但我试图修改它,以便任何添加的延迟类稍后会随着进一步的延迟而消失

这段代码正确地应用了一个数据为indelay ms delay的“动画”类,但希望它稍后删除数据为outdelay ms的“动画”类-尝试将队列链接在一起,但不起作用-应用下面显示的“动画”类的基本代码

    jQuery('.sr-animation').each(function() {
    if (jQuery(window).width() > 700) {
        var visible = jQuery(this).visible(true);
        var indelay = jQuery(this).attr("data-indelay");
        var outdelay = jQuery(this).attr("data-outdelay");
        if (!indelay) { indelay = 0; }
        if (!outdelay){ outdelay = 0; }
        if (jQuery(this).hasClass( "animated" )) {
        } else if (visible) {
            jQuery(this).delay(indelay).queue(function(){jQuery(this).addClass('animated')});
        }
    } else {
        jQuery(this).addClass('animated');
    }
});

感谢您的帮助,因为我在这里无能为力。

我想我已经找到了解决办法。。我不太确定出列的作用是什么,但似乎有效-类随后消失-只是我认为它不会在“outdelay”时间段内完成

jQuery('.sr-animation').each(function() {
    if (jQuery(window).width() > 700) {
        var visible = jQuery(this).visible(true);
        var indelay = jQuery(this).attr("data-indelay");
        var outdelay = jQuery(this).attr("data-outdelay");
        if (!indelay) { indelay = 0; }
        if (!outdelay){ outdelay = 0; }
        var duration = outdelay-indelay;
        if (jQuery(this).hasClass( "animated" )) {
        } else if (visible) {

            jQuery(this).delay(indelay).queue(function(){jQuery(this).addClass('animated').dequeue()});
            if(outdelay>0) { jQuery(this).delay(outdelay).queue(function(){jQuery(this).removeClass('animated')}); }
        }
    } else {
        jQuery(this).addClass('animated');
    }
});

找到了解决办法。。不太清楚排队的作用,但似乎有效。。