javascript - JQuery 添加和删除延迟链接的类不起作用

标签 javascript jquery

我有这个功能:

jQuery(document).ready(function ()
{
    jQuery('.current-visitors').delay(3000).queue(function ()
    {
        jQuery(this).addClass('show').delay(1000).queue(function ()
        {
            jQuery(this).removeClass('show');
        });
    });
});

所以我尝试在 3 秒后添加一个类,效果很好。然后我设置一个新的延迟并排队一个新的方法来删除类,所以 1 秒后应该删除类,但最后一部分不起作用。怎么了?

最佳答案

您可以使用 queue() 来做到这一点方法,但你有一个错误的链接方法,你也忘了调用 dequeue()您正在排队的每个函数上的方法,因此执行链上的下一个函数。

我稍微增加了隐藏元素的延迟,但您可以在下一个代码片段示例中检查它的工作情况:

jQuery(document).ready(function()
{
    jQuery('.current-visitors').delay(3000).queue(function()
    {
        console.log("Now visible!")
        $(this).addClass("show").dequeue();            
    })
    .delay(3000).queue(function()
    {
        console.log("Now hidden!")
        $(this).removeClass("show").dequeue();
    });
});
.current-visitors {
    background: lightblue;
    display: none;
}

.show {
    display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="current-visitors">CURRENT VISITORS</div>

关于javascript - JQuery 添加和删除延迟链接的类不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53330011/

相关文章:

javascript - 如何在 angularjs 中的字符串中创建链接标签?

javascript - React 测试抛出警告 'Invalid DOM property ` %s`。您的意思是 `%s` 吗?%s'

将字符串转换为数组然后再返回时的 Javascript 问题

javascript - 如何将 forvo API 与 jquery ajax 结合使用?

jQuery: slideDown() 显示错误的 div

javascript - 判断元素是否存在

javascript - 如何在网站加载中为任何标签静音音频/视频?

javascript - 如何将参数传递给回调函数而不执行它

javascript - "Cannot read property ' Prop ' of undefined"React 问题

javascript - 如何在 eonasdan Bootstrap 3 Datepicker 上重置链接选择器的日期范围?