嗨,我正在做HTML在过去的3个月的大学,并必须设计一个网站。我几乎完成了,但我试图把4张幻灯片放在一页上。我可以让它工作得很好,但是我创建的下一个似乎会覆盖第一个。有没有人能看一下我的代码,告诉我该怎么做..这里是我的代码,除了链接和图片是不同的两个幻灯片。
var i = 0;
var image = new Array();
// LIST OF IMAGES
image[0] = "strawberrypancakes.jpg"
image[1] = "chickenbroth.jpg";
image[2] = "noodlesalad.jpg";
var k = image.length-1;
var caption = new Array();
// LIST OF CAPTIONS
caption[0] = "Strawberry buckwheat pancakes";
caption[1] = "Hot chicken broth";
caption[2] = "Pepper and noodle salad";
var link= new Array();
// LIST OF LINKS
link[0] = "http://www.jamieoliver.com/recipes/breakfast/";
link[1] = "http://www.jamieoliver.com/recipes/chicken/";
link[2] = "http://www.jamieoliver.com/recipes/vegetables/";
function swapImage(){
var el = document.getElementById("mydiv");
el.innerHTML=caption[i];
var img = document.getElementById("slide");
img.src= image[i];
var a = document.getElementById("link");
a.href= link[i];
if(i < k ) { i++;}
else { i = 0; }
setTimeout("swapImage()",5000);
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
swapImage();
});
<table style="border:none;background-color:transparent;">
<tr>
<td>
<a name="link" id="link" href="http://www.siteforinfotech.com/" target="_blank"><img name="slide" id="slide" alt
="my images" height="250" width="590" src="image-1.png"/></a>
</td>
</tr>
<tr>
<td align="center"style="font:small-caps bold 15px georgia; color:blue;">
<div id ="mydiv"></div>
</td>
</tr>
</table>
发布于 2017-01-14 21:27:15
最简单的事情就是复制幻灯片的超文本标记语言结构,将ID和NAME属性更改为link2、slide2和mydiv2,然后复制交换函数,将其命名为swapImage2(),然后像这样添加它:
addLoadEvent(function() {
swapImage(); // for the first slideshow
swapImage2(); // for second slideshow
});
一种更简洁的解决方案是使用单个swapimage函数,并向其中传递您想要作为目标的目标DOM元素/幻灯片。
下面是我能想到的最快的Fiddle Example方式
https://stackoverflow.com/questions/41655033
复制