当前位置:  开发笔记 > 编程语言 > 正文

延迟JQuery效果

如何解决《延迟JQuery效果》经验,为你挑选了4个好方法。

我希望在延迟几秒后淡出一个元素及其所有子元素.但我还没有找到一种方法来指定效果应该在指定的时间延迟后开始.



1> swilliams..:
setTimeout(function() { $('#foo').fadeOut(); }, 5000);

5000是五秒,以毫秒为单位.


注意,这是使用Javascript的内置setTimeout函数,没有jQuery特定的.

2> Simon_Weaver..:

我使用这个暂停插件我刚才写的

$.fn.pause = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};

像这样称呼它:

$("#mainImage").pause(5000).fadeOut();

注意:您不需要回调.


编辑:您现在应该使用jQuery 1.4.内置delay()方法.我没有检查,但我认为它比我的插件更"聪明".


stop()不能与delay()一起使用,所以我仍然使用你的虚拟动画黑客.(bug http://bugs.jquery.com/ticket/6576)

3> Drew..:

以前你会做这样的事情

$('#foo').animate({opacity: 1},1000).fadeOut('slow');

第一个动画没有做任何事情,因为你已经在元素上有不透明度1,但它会暂停一段时间.

在jQuery 1.4中,他们已经将它构建到框架中,因此您不必像上面那样使用hack.

$('#foo').delay(1000).fadeOut('slow');

功能与原始jQuery.delay()插件相同http://www.evanbot.com/article/jquery-delay-plugin/4



4> 小智..:

最好的方法是使用jQuery延迟方法:

$( '#添加my_id')延迟(2000).fadeOut(2000年).


jQuery 1.4及以上版本
推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有