你们知道我的代码有什么问题吗?我正在尝试制作幻灯片,淡出图像和新图像。这很简单,但我似乎无法让它工作。
这是我的HTML:
<img src="images/slideshow/1.jpg" id="slide"></img>
这是我的JS:
<script>
var slideimages = new Array()
slideimages[0] = new Image()
slideimages[0].src = "images/slideshow/1.jpg"
slideimages[1] = new Image()
slideimages[1].src = "images/slideshow/2.jpg"
slideimages[2] = new Image()
slideimages[2].src = "images/slideshow/3.jpg"
</script>
<script>
var step = 0
setInterval(function() {
if (!document.images)
return
document.getElementById('slide').src = slideimages[step].src
if (step < 2)
step++
else
step = 0
var old = slideimages[step].src;
old.fadeOut(2000);
var next = slideimages[step + 1].src;
next.fadeIn(2000);
}, 5000);
</script>
非常感谢任何帮助!
答案 0 :(得分:1)
你可能想给jQuery一个机会。它会简化你的问题。
var slideimages = new Array()
slideimages[0] = "..."
slideimages[1] = "..."
slideimages[2] = "..."
var step = 0;
setInterval(function() {
step = (step+1) % slideimages.length;
$('#slide').animate({
'opacity': '0'
}, function() {
// This is called when fading out is complete.
$('#slide').attr('src', slideimages[step]);
$('#slide').animate({ 'opacity': '1' });
});
}, 5000);
JFiddle示例:https://jsfiddle.net/faehzLjp/1/