我正在尝试为jQuery函数添加延迟,因此它会在页面和javascript完全加载后加载,但它仍然会加载,就像没有延迟一样。
$('.validate-state .select2-selection--single')
.delay( 10000 )
.addClass('custom-alert');
我在ready()函数中调用上面的内容。
答案 0 :(得分:4)
使用setTimeout
功能,delay
通常用于动画
setTimeout(function(){
$('.validate-state .select2-selection--single')
.addClass('custom-alert');
},10000);
如果您想在js和html加载后执行代码,那么您需要在页面就绪事件中触发代码
$(function(){
$('.validate-state .select2-selection--single')
.addClass('custom-alert');
})
答案 1 :(得分:0)
延迟不适用于.addClass
它只能影响动画;这样做的方法就像快速举例:
$(function(){
setTimeOut( ()=>$(elem).addClass('custom-alert'), 1000 );
});
或jQuery方式:
$(function(){
$(elem).delay(1000).queue(function(){
$(this).addClass("custom-alert").dequeue();
});
});
答案 2 :(得分:0)
要在加载整个页面后运行您的功能,您可以像这样使用$(document).ready()
:
$(document).ready(function() {
$('.validate-state .select2-selection--single').addClass('custom-alert');
});
答案 3 :(得分:0)
您可以尝试使用setTimeout()
。
来自https://stackoverflow.com/a/7408036/5007419的参考
使用.delay()
进行jQuery效果,包括动画。
setTimeout()
最适合用于其他一切。例如,当您需要在某个经过的时间触发事件时。
快速示例:
$(window).load(function() {
setTimeout(function(){
// you code here
}, 1000); // 1000 is time in milliseconds
});