如何在Javascript中用URL链接不同的幻灯片图像
How to link different slideshow images with a URL in Javascript
我对JavaScript很陌生,我正在创建一个简单的幻灯片,我做得很好。唯一的问题是,我似乎无法创建幻灯片中每个图像的网络链接。我希望它能链接到一个不同的网页,链接到我为幻灯片播放的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>
一种方法是使用链接来包装图像:
<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>
有一种更简单的方法:
首先:创建一个HTML文档,我们将其称为images.HTML
在该文件中,只需添加所有要加载的图像类似:
<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 sum在这个例子中为1,当所有图像都完成加载时,maximg的最终数字将是3,现在你不需要担心你想要加载的图像的数量,你只需要在iframe中添加你想要的图像
var imgnum用于更改要显示的图像的src,因此请确保所有图像都具有相同的名称,然后是要显示的顺序编号
使用window.setTimeout的行将定义更改为下一个图像所需的等待时间。在这种情况下,我使用2000,它意味着2秒,500意味着0.5秒,5000意味着5秒,所以将其更改为您想要等待的任何数字
我希望这一切对你有所帮助!。
相关文章:
- 我可以使此幻灯片图像自动播放吗?
- 在滑块内动态添加幻灯片图像
- 幻灯片图像在页面加载时弹出
- 来自数据库的幻灯片图像
- 如何在Javascript中用URL链接不同的幻灯片图像
- JavaScript渐变幻灯片-图像链接
- 将特定html文件上的幻灯片图像调整为移动屏幕
- 设置幻灯片图像间隔
- 如何在加载时隐藏幻灯片图像
- 背景轮播,用于在幻灯片图像中包含 DIV
- 使用nivoSlider,如何确定当前的幻灯片图像或索引
- 什么是开始使用交互式Javascript幻灯片/图像查看器的简单方法
- Jquery,添加上一个/下一个链接对幻灯片图像的效果
- 幻灯片图像可以在本地使用,但不能在我的网站上使用
- 单击幻灯片图像以强制执行一步
- 使幻灯片图像从第一个到最后
- IE8解决方案的圆角幻灯片图像
- 有没有办法保护我的幻灯片图像?
- 为什么此幻灯片图像没有't跑?这很奇怪
- jQuery幻灯片图像转换