如何使用延迟添加/删除类
How to use delay to add/remove classes
在.click(function(){})内部;我正在尝试使用它来删除一个类,添加另一个,延迟一秒钟,然后再次反转所有内容。这对我来说似乎很简单,但我被这个坏功能难住了:
$(document).ready(function() {
var items = $(".tabs-group .sidebar ul li:not(:last-child) a");
var prompt = $(".prompt-button");
prompt.click(function () {
$(items).removeClass("pulse").addClass("solid").delay(1000).removeClass("solid").addClass("pulse");
});
});
感谢帮助,谢谢!
尝试将后续操作放入队列中。否则removeClass,addClass不会添加到FX队列中,从而通过直接应用延迟来延迟它。
$(items).removeClass("pulse").addClass("solid").delay(1000).queue(function(){
$(this).removeClass("solid").addClass("pulse");
});
你可以做:
$(items).toggleClass("pulse solid").delay(1000).queue(function(){
$(this).toggleClass("pulse solid");
});
尽管PSL答案可能是最好的解决方案,但这里有一个替代方案。您可以创建自己的延迟函数,因为.delay()
只适用于排队的元素。
这里有一个例子:
(function($){
if($ && !$.fn.wait){
$.fn.wait = function(time, fn){
setTimeout(fn.bind(this), time);
return this;
}
}
})(jQuery)
在你的文件中插入这个之后,你可以这样称呼它:
$(items).removeClass("pulse").addClass("solid").wait(1000, function(){
this.removeClass('solid');
})
请参阅操作中的代码
您在物品中有额外的$
$(document).ready(function() {
var items = $(".tabs-group .sidebar ul li:not(:last-child) a");
var prompt = $(".prompt-button");
prompt.click(function () {
items.removeClass("pulse").addClass("solid").delay(1000).removeClass("solid").addClass("pulse");
});
});
相关文章:
- 删除添加行
- 删除添加的事件侦听器
- 删除添加的输入字段
- 如何在 fabricjs 中从画布中删除添加的模板
- 删除添加空值的 Javascript 对象项
- .append() 删除添加的元素
- Javascript/jQuery - 根据数值删除/添加多个元素的类
- 单击时添加几行,双击删除添加的行
- 从表单中删除添加的元素不起作用
- 当我在单击元素外部时,如何删除添加到单击元素的功能
- 从javascript数组内的对象中删除/添加特定变量
- 如何使用单击hypelink从表单输入文本字段中删除/添加属性
- 想要在单击删除链接时删除添加到缩略图中的图像
- TinyMCE 4删除/添加所有图像的属性
- 当一天的开始和结束时间改变时,删除/添加正确的
's - 使用JavaScript删除添加到选定文本的高亮
- 删除/添加类函数
- 删除/添加一个类,然后在这个新类上执行一个事件
- TinyMCE插件-如何删除添加的代码
- 使用jquery删除/添加类到正文