我是 jQuery/java 脚本的新手;试图制作一个 slider 。请帮助解决以下问题。
我想让一个div(类是 slider )永远淡出和淡入;请检查此代码。 是否可以为此使用 setInterval() 函数?
<html>
<head>
<title>Slider</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="../jquery/jquery.min.js"></script>
<style>
.slider1{
width: 500px;
height: 250px;
margin: 0 auto;
background-image: url(images/rectblue.png);
}
</style>
<script type="text/javascript">
var runForever = $(document).ready(function () {
$(".slider1").fadeOut(2000, function () {
$(".slider1").fadeIn(2000);
});
});
runForever();
//setInterval(runForever, 4000);
//This runs the function 'runForever' one time only, how to run it every 4 sec?
//the above commented out code does not work.
</script>
</head>
<body>
<div class="slider1"></div>
</body>
最佳答案
您没有将 runforever
定义为函数,而是将其作为调用 $(document).ready
的结果。如果您将它定义为一个函数并将其放在 setInterval
中,它就可以工作。
var flashSlider = function () {
$(".slider1").fadeOut(2000, function () {
$(".slider1").fadeIn(2000);
});
};
$(document).ready(function () {
setInterval(flashSlider, 4000);
});
fiddle :http://jsfiddle.net/uoqdfhdb/
我认为递归地编写 flash-forever 更 jQuery-elegant:
var flashForever = function () {
$(".slider1").fadeOut(2000).fadeIn(2000, flashForever);
};
$(document).ready(function () {
flashForever();
});
http://jsfiddle.net/uoqdfhdb/1/
除了我想知道尾递归是否最终会导致堆栈溢出。
关于javascript - 永远运行一个 jquery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30829401/