如何使用jQuery淡出div?
有没有办法在5秒钟后不使用setTimeOut功能而淡出div 假设你的意思是“等待5秒,然后淡出”,我认为你必须使用插件来强制延迟,例如,不确定是要5秒还是5秒后开始 需要5秒钟:jQuery fadeout函数可用于div,它将降低元素的不透明度,直到为0,然后在div中不显示。淡入淡出的速度是该函数的一个参数 要在5秒钟内启动它,您需要某种计时器,它可以在文档或窗口准备就绪时启动,或者在div准备就绪时启动,具体取决于您需要什么。功能如何。看起来像这样:如何使用jQuery淡出div?,jquery,Jquery,有没有办法在5秒钟后不使用setTimeOut功能而淡出div 假设你的意思是“等待5秒,然后淡出”,我认为你必须使用插件来强制延迟,例如,不确定是要5秒还是5秒后开始 需要5秒钟:jQuery fadeout函数可用于div,它将降低元素的不透明度,直到为0,然后在div中不显示。淡入淡出的速度是该函数的一个参数 要在5秒钟内启动它,您需要某种计时器,它可以在文档或窗口准备就绪时启动,或者在div准备就绪时启动,具体取决于您需要什么。功能如何。看起来像这样: $("#myDiv").fade
$("#myDiv").fadeOut(5000);
$('#div').delay(5000, function(){$(#div').fadeOut()})
$('#myDiv').delay(800).fadeOut(1000);
案例1:如果您想在5秒后开始淡出,请使用以下方法:
jQuery.fn.delay = function(time,func){
return this.each(function(){
setTimeout(func,time);
});
};
$('#div').fadeOut(5000)
然后,像这样使用它:
$("#myDiv").fadeOut(5000);
$('#div').delay(5000, function(){$(#div').fadeOut()})
$('#myDiv').delay(800).fadeOut(1000);
如果不使用setTimeOut,就无法实现这一点
案例2:如果您希望淡出的持续时间为5秒,请使用以下选项:
jQuery.fn.delay = function(time,func){
return this.each(function(){
setTimeout(func,time);
});
};
$('#div').fadeOut(5000)
//我使用我刚写的暂停插件
$.fn.pause = function(duration) {
$(this).animate({ dummy: 1 }, duration);
return this;
};
可以这样称呼:
$("#mainImage").pause(5000).fadeOut();
注意:您不需要回拨。我只是遇到了同样的问题,我认为标记的答案实际上并不满足问题。如果有人这样指定的话
$("#myDiv").fadeOut(5000);
如suggsted所述,衰落过程本身将持续5秒,但不会在5秒后开始
因此,我正在寻找一个替代方案,而不必包括另一个jQuery插件等。我提出的最简单的解决方案是按如下方式编写:
$("#myDiv").fadeTo(5000,1).fadeOut(1000);
它使用了fadeTo效果,不知何故它是一种“黑客”。我让fadeTo运行5秒,然后让它淡入1=100%不透明度。这样,用户就不会感觉到任何变化。之后,正常呼叫淡出,持续时间为1秒
我想这个解决方案相当简单,因为它不需要任何额外的插件,可以用一行代码编写
干杯
//编辑:显然,现在有可能做这样的事情:
$("#myDiv").fadeOut(5000);
$('#div').delay(5000, function(){$(#div').fadeOut()})
$('#myDiv').delay(800).fadeOut(1000);
一些更酷、更有用的函数。大家都知道jQuery1.4中现在有一个延迟函数,对吗
$('#div').delay(5000).fadeOut(400)
这就是您如何做到的,而不必添加任何自定义函数或插件。它是jquery 1.4的本机功能,您希望动画播放5秒还是希望在动画开始前等待5秒?是的,我希望在动画开始前等待5秒。解决了,我写了函数a$(“div”).fadeOut(10000);那它就是我想要做的!这并不能真正回答问题。他想在5秒后淡出,而不是让淡出持续5秒。我想在动画开始前等待5秒。解决了,我把函数写成$(“div”).fadeOut(10000);然后使用setTimeOut()函数,它就可以正常工作了。非常感谢。事实上,淡出立即开始:(我同意你的评论,朋友们,当这个问题发布时,当时这个问题没有合适的答案,我也不想使用setTimeOut()或任何其他插件,好的,现在我将接受这个问题的正确答案。感谢你宝贵的评论。出于某种原因,暂停(5000).css(“opacity”,.5)在设置不透明度之前不会暂停,但它适用于淡出。有人想解释一下吗?注意:当我说“plugin i just write”时,我试图表示“未完全测试”,但它应该适用于css()要求的内容不使用动画队列。如果要在更改不透明度之前暂停,则需要类似“暂停(5000).animate({'opacity':0.5});