【发布时间】:2012-01-26 20:00:22
【问题描述】:
下面的代码成功淡入一个推荐 6 秒,等待 3 秒,然后淡出并继续下一个。一旦它到达第三个推荐,它就会跳回到第一个。这正是我想要的,但在我的实际网站上,我有超过三个推荐,并且将来可能会添加更多。我不想每次添加新推荐时都返回并添加新功能。我尝试了一段时间使用“this”和 .next() 让它工作,但失败了。我希望有人可以通过循环它并让它移动到容器中的下一个 p 标签来提高效率,而无需每次都调用一个新函数。任何帮助表示赞赏,谢谢。
注意:我知道有类似的问题,但没有一个是完全相同的,答案也低于标准。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
#tml-container p { display: none; }
</style>
</head>
<body>
<div id="tml-container">
<p id="one">Testimonial 1</p>
<p id="two">Testimonial 2</p>
<p id="three">Testimonial 3</p>
</div>
<script>
$(document).ready(function() {
function doFade() {
$("#one").fadeIn(6000,function() {
$("#one").fadeOut(6000).delay(3000);
setTimeout(fadeTwo,6000);
});
}
function fadeTwo() {
$("#two").fadeIn(6000,function() {
$("#two").fadeOut(6000).delay(3000);
setTimeout(fadeThree,6000);
});
}
function fadeThree() {
$("#three").fadeIn(4000,function() {
$("#three").fadeOut(6000).delay(3000);
setTimeout(doFade,6000);
});
}
doFade();
});
</script>
</body>
</html>
【问题讨论】:
-
当您使用 jQuery 时,我建议您使用
$('p').hide();隐藏您的元素,以保持内容对没有 jQuery 作为后备的用户可见。
标签: jquery loops this fadein next