我是JavaScript的新手,我正在创建一个简单的幻灯片,我的工作正常。唯一的问题是我似乎无法在幻灯片中创建每个图像的Web链接。我想将它链接到不同的网页,链接到幻灯片显示的4个不同的图像,因为它滚动。
这就是我所拥有的:
<head>
<script type="text/javascript">
<!--
//preload images
var image1=new Image()
image1.src="Images/slideshow_1_home_2013.jpg"
var image2=new Image()
image2.src="Images/slideshow_2_home_2013.jpg"
var image3=new Image()
image3.src="Images/slideshow_3_home_2013.jpg"
var image4=new Image()
image4.src="Images/slideshow_4_home_2013.jpg"
//-->
</script>
</head>
<body>
<div align="left"><img src="Images/slideshow_1_home_2013.jpg"
name="slide" width="974" height="305" align="left"/></div>
<script type="text/javascript">
<!--
var step=1
var whichimage=1
function slideit(){
if (!document.images)
return
document.images.slide.src=eval("image"+step+".src")
whichimage=step
if (step<4)
step++
else
step=1
setTimeout("slideit()",10000)
}
slideit()
function slidelink(){
if (whichimage==1)
window.location="link1.htm"
else if (whichimage==2)
window.location="link2.htm"
}
</script>
</body>
</html>
答案 0 :(得分:1)
一种方法是使用链接来包装图像:
<head>
<script type="text/javascript">
<!--
//preload images
var image1=new Image()
image1.src="Images/slideshow_1_home_2013.jpg"
var image2=new Image()
image2.src="Images/slideshow_2_home_2013.jpg"
var image3=new Image()
image3.src="Images/slideshow_3_home_2013.jpg"
var image4=new Image()
image4.src="Images/slideshow_4_home_2013.jpg"
//-->
</script>
</head>
<body>
<div align="left"><a name="mylink" href=""><img src="Images/slideshow_1_home_2013.jpg"
name="slide" width="974" height="305" align="left"/></a></div>
<script type="text/javascript">
<!--
var step=1
var whichimage=1
function slideit(){
if (!document.images)
return
document.images.slide.src=eval("image"+step+".src")
whichimage=step
if (step<4)
step++
else
step=1
setTimeout("slideit()",10000)
}
slideit();
if (whichimage==1)
document.links.mylink.src="link1.htm"
else if (whichimage==2)
document.links.mylink.src="link2.htm"
</script>
</body>
</html>
答案 1 :(得分:0)
<img src="img1.jpg" onload="parent.loadedimg()" />
<img src="img2.jpg" onload="parent.loadedimg()" />
<img src="img3.jpg" onload="parent.loadedimg()" />
我们使用parent从我们的iframe调用函数到我们的index.html文件
然后只需在您想要的任何地方添加到您的页面index.html不会影响您的页面
<div style="display:none>
<iframe src="images.html">
</iframe>
</div>
现在图像将自动开始加载 现在将此HTML添加到您希望显示图像的任何位置
<img src="img1.jpg" width="400" height="300" id="slider" />
最后是Javascript:
<script type="text/javascript">
startslide();
var imgnum=parseInt;
imgnum=0;
maximg=parseInt;
maximg=0;
function loadedimg(){
maximg++;
}
function startslide(){
if(imgnum<=maximg && maximg>0){
imgnum++;
document.getElementById('slider').src='img'+imgnum+'.jpg';
if(imgnum==maximg){
imgnum=0;
}
}
window.setTimeout(function(){startslide()},2000);
}
</script>
现在解释:
如果你记得在iframe中每当图像加载在这个javascript中向javascript发送一个函数时,函数被调用,var maximg改变1,所以每次图像加载这个var总和1在这个例子中当所有图像完成加载最终的数字为maximg将是3因为在iframe你只加载了3张图片,现在你不需要担心你要加载的图像的数量,你只需要添加这么多的图像希望在iframe中。
var imgnum用于更改要显示的图像的src,因此请确保您的图像具有相同的名称,然后显示要显示的订单编号。
并且使用window.setTimeout的行将定义在这种情况下等待更改为下一个图像的时间我使用2000并且它表示2秒,500表示0.5秒,5000表示5秒,因此将其更改为任何数字我想等
这一切都是如此,我希望对你有所帮助!