首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟toggleClass

延迟toggleClass
EN

Stack Overflow用户
提问于 2016-02-16 13:55:28
回答 4查看 17.4K关注 0票数 0

在这个堆叠溢流柱中,公认的答案声称有可能在延迟的情况下使用toggleClass。但是我没有在官方的jquery网站上找到任何关于延迟参数的信息。

我试过了,但是在点击div之后没有延迟。

代码语言:javascript
复制
$("div#test").click(function() {
    $(this).toggleClass('light', 2000).toggleClass('dark', 2000);
});
代码语言:javascript
复制
div {
  border: 1px dashed black;
}
.light {
  background-color: white;
}
.dark
{
  background-color: black;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="light" id="test">
    <p style="color:red">click here</p>
</div>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-02-16 14:01:01

这是因为延迟行为是由jQuery UI库添加的。

在示例中只使用jQuery库。

jQuery网站

jQuery用户界面网站

如果包含jQuery UI,则示例有效:

代码语言:javascript
复制
$("div#test").click(function() {
  $(this).toggleClass('light', 2000).toggleClass('dark', 2000);
});
代码语言:javascript
复制
div {
  border: 1px dashed black;
}

.light {
  background-color: white;
}

.dark {
  background-color: black;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<div class="light" id="test">
  <p style="color:red">click here</p>
</div>

票数 3
EN

Stack Overflow用户

发布于 2016-02-16 14:01:45

可以使用基本超时函数执行此操作:

代码语言:javascript
复制
$("div#test").click(function () {
    var el = $(this);
    window.setTimeout(function() {
        el.toggleClass('light').toggleClass('dark');
    }, 2000);
});

这比jQuery特性更有效;)

票数 6
EN

Stack Overflow用户

发布于 2017-09-15 12:23:26

.delay()方法允许您延迟执行队列中跟随它的函数。它可以与标准效果队列或自定义队列一起使用,只有队列中的后续事件才会延迟。例如,这不会延迟不使用效果队列的.toggleClass()或.show().hide()的非参数形式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35434476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档