如何延迟不是动画的 jquery 事件?
How to delay a jquery event that isn't an animation?
我有一个 jquery 事件,我希望它只在一定时间后发生。显然,delay
仅适用于动画事件。在这种情况下,我可以使用 delay
的替代方法吗?
$( document ).ready(function() {
$(".opacity").delay(1000).css({"opacity": ".5",}).delay(1000).css({"opacity": "1",});
});
可以使用setTimeout(),不需要使用延时功能
$(document).ready(function() {
setTimeout(function() {
$(".opacity").css({
"opacity": ".5",
});
setTimeout(function() {
$(".opacity").css({
"opacity": "1",
})
}, 1000)
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="opacity">opacity</div>
如果你想使用 delay function, then you can add an entry to the delay queue using .queue() 在那里添加你的代码
$(document).ready(function() {
$(".opacity").delay(1000).queue(function(next) {
$(this).css({
"opacity": ".5",
})
next();
}).delay(1000).queue(function(next) {
$(this).css({
"opacity": 1,
})
next();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="opacity">opacity</div>
我有一个 jquery 事件,我希望它只在一定时间后发生。显然,delay
仅适用于动画事件。在这种情况下,我可以使用 delay
的替代方法吗?
$( document ).ready(function() {
$(".opacity").delay(1000).css({"opacity": ".5",}).delay(1000).css({"opacity": "1",});
});
可以使用setTimeout(),不需要使用延时功能
$(document).ready(function() {
setTimeout(function() {
$(".opacity").css({
"opacity": ".5",
});
setTimeout(function() {
$(".opacity").css({
"opacity": "1",
})
}, 1000)
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="opacity">opacity</div>
如果你想使用 delay function, then you can add an entry to the delay queue using .queue() 在那里添加你的代码
$(document).ready(function() {
$(".opacity").delay(1000).queue(function(next) {
$(this).css({
"opacity": ".5",
})
next();
}).delay(1000).queue(function(next) {
$(this).css({
"opacity": 1,
})
next();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="opacity">opacity</div>