我遇到的问题解释起来相当复杂。我编写了一个显示图像幻灯片的 javascript,尽管使用的资源比我想要的多,但它工作得相当好
// imgArr[] is populated before
var i = 0;
var pageLoaded = 0;
window.onload = function() {pageLoaded = 1;}
function loaded(i,f) {
if (document.getElementById(i) != null) f();
else if (!pageLoaded) setTimeout('loaded(\''+i+'\','+f+')',100);
}
}
function displaySlideshow() {
document.getElementById(destinationId).innerHTML = '<div id="slideWindow"><img src="'+imgArr[i]+'" />' + '<img src="'+imgArr[i + 1]+'" /></div>';
setTimeout('displaySlideshow()',1000*3);
i++;
if (i >= imgArr.length - 1)
i = 0;
}
loaded(destinationId,displaySlideshow);
因此,此脚本动态地将两个图像添加到 HTML 元素中,并将其包装在一个 div 中。
div 使用图像的高度和宽度设置样式,并隐藏溢出(第二个图像)。第二张图片在第一张的下方,幻灯片是从右到左的。
我的询问是双重的:1)有没有更有效的方法来做到这一点?2)我将如何为图像设置动画?我是否需要以某种方式将第二个图像放在第一个图像的右侧,然后设置一个计时器将图像(通过样式)向左拉?