将延迟应用于动画jquery
Applying delay to animation jquery
我正试图将一个类添加到html
中的div中,但在此之前希望添加一个延迟。我有下面的代码,但它似乎没有应用任何延迟。有人能告诉我我做错了什么吗?
$("#globe").on('ended',function() {
setTimeout(
$('.faculty-info').addClass('cbp-spmenu-open'),
5000);
});
setTimeout
需要一个函数定义作为第一个参数,所以将您想做的任何事情都封装在一个匿名函数中,如下面的
setTimeout(function(){
$('.faculty-info').addClass('cbp-spmenu-open')
}, 5000);
您应该将代码(以延迟方式执行的指令)包装在function
中。
$("#globe").on('ended',function() {
setTimeout( function() {
$('.faculty-info').addClass('cbp-spmenu-open')
}, 5000);
});
您可能还需要声明一个变量来保存超时值。这将使您有可能在需要时清除它:
//Global timeout variable
var timeOut;
$("#globe").on('ended',function() {
timeOut = setTimeout( function() {
$('.faculty-info').addClass('cbp-spmenu-open')
}, 5000);
});
您可以使用jQuery的.delay()
和.queue()
来处理此问题:
$("#globe").on('ended', function () {
$('.faculty-info').delay(5000).queue(function () {
$(this).addClass('cbp-spmenu-open').dequeue();
});
});
这是一个JSFiddle。另请参阅:jQuery:我可以在addClass()和such之间调用delay()吗?
相关文章:
- 剑道网格jQuery动画()问题
- jquery动画可以通过编程链接吗
- JQuery动画延长容器不起作用
- 如何正确编程jQuery动画与平滑(导航栏)
- jQuery动画-边框宽度和颜色
- 如何抽象JQuery动画方法
- jQuery动画标题滚动
- JQuery - 为什么 JQuery 动画是同时进行的
- 如何用jquery动画改变背景颜色,就像一个过渡
- 正在等待jQuery动画完成
- 如何优化jquery动画代码
- jQuery动画的持续时间就像一个延迟
- 创建一个类似Jquery动画的Flipboard弹出窗口
- 应用jQuery动画时出现意外的抖动效果
- 如何设置'auto'JQuery动画中的高度
- jQuery动画缩放需要我点击主体
- 如何将jquery动画应用于单个项目
- 如何简化jquery动画函数代码
- 使用 jquery 动画幻灯片使用角度中继器切换
- Jquery动画和when函数