作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
遇到一个问题,我需要做一些类似淡入淡出横幅的事情 - 一个 div 淡出,然后第二个 div 淡入,代码如下:
$(document).ready(function() {
setTimeout(function() {
$('#zeus').fadeOut(1000);
}, 5000);
$('#zeuss').hide();
setTimeout(function(){
$('#zeuss').fadeIn(1000);
}, 6000);
});
它可以工作,但是在#zeuss
淡入之后它就停留在这里。我需要反复这样做。并且请不要提供使用 .delay() 因为我使用的是 jquery 1.3.2
编辑。默认情况下 #zeus
显示在页面上,我想将其淡出,然后淡入 #zeuss
,然后再次淡入 #zeus
并然后淡出#zeus
并淡入#zeuss
等..
最佳答案
通常情况下,通用且可扩展的解决方案会更简单:
更新:采纳了 jfriend00 的建议,从多个计时器改为完成函数,以防止随着时间的推移出现累积错误。
/**
* Fade-cycles elements with class 'banner'
*/
$(document).ready(function() {
var delay = 3000, fade = 1000; // tweak-able
var banners = $('.banner');
var len = banners.length;
var i = 0;
setTimeout(cycle, delay); // <-- start
function cycle() {
$(banners[i%len]).fadeOut(fade, function() {
$(banners[++i%len]).fadeIn(fade, function() { // mod ftw
setTimeout(cycle, delay);
});
});
}
});
关于jquery - 淡出第一个 div,然后淡入第二个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194305/
我是一名优秀的程序员,十分优秀!