我可以在html中成功制作幻灯片,但我试图制作两个并且它不起作用,这是我的代码:
<script type="text/javascript">
var image1 = new Image()
image1.src = "img/home/residential.gif"
var image2 = new Image()
image2.src = "img/home/1.gif"
var image3 = new Image()
image3.src = "img/home/2.gif"
</script>
<table align="center" width="70%"cellpadding=5 cellspacing=5>
<tr>
<td rowspan=2 align=center><a href="artistic.html"><figure><img src="logo1.gif" alt="Atristic Impressions" width="400" height="600" name="slide"/><figcaption style="color: #610B21">Artistic Impressions</figure></td>
<script type="text/javascript">
var step=1;
function slide()
{
document.images.slide.src = eval("image"+step+".src");
if(step<3)
step++;
else
step=1;
setTimeout("slide()",5000);
}
slide();
</script>
<script type="text/javascript">
var image1 = new Image()
image1.src = "img/barns/1.gif"
var image2 = new Image()
image2.src = "img/barns/2.gif"
var image3 = new Image()
image3.src = "img/barns/3.gif"
var image4 = new Image()
image4.src = "img/barns/4.gif"
</script>
<td align=center><a href="Barns.html"><figure><img src="img/barns/1.gif" alt="Barn Conversions" width="400" height="300" name="slide"/ ><figcaption style="color: #610B21">Barn Conversions</figure></td>
<script type="text/javascript">
var step=1;
function slideit()
{
document.images.slide.src = eval("image1"+step+".src");
if(step<3)
step++;
else
step=1;
setTimeout("slideit()",5000);
}
slideit();
</script>
答案 0 :(得分:0)
<img>
的名字都是“幻灯片”。您应该为它们指定不同的名称,以便浏览器知道要使用哪个名称。像“slide1”和“slide2”这样的东西可以胜任。
答案 1 :(得分:0)
发生的事情是您正在使用与自身冲突的代码。您已在全局级别定义图像,然后在设置第二个节目时重新定义它们。您还复制了步骤变量,但如果使用相同的值,这可能无关紧要。您也使用两个滑块脚本影响同一图像,因此一个目标需要更改。更简单的方法是使用单个函数添加一些参数,以便您可以处理两组图像和DOM元素。
类似于: -
function slide( image_id, image_array) {
myImage = getElementById(image_id);
myImage.src = image_array[step];
}
当然,除此之外还有更多内容,并且有很多更好的特色图像滑块的示例可以运行两个单独的实例。我建议研究一些。