JS——图片自动切换
——鼠标停留在图片,图片暂停切换
?
??????? 前面提过鼠标滑过,切换图片的方法,将里面的onmouseover方法改为onclick方法,即可改写为点击切换图片的效果
??????? 在这里介绍一下图片自动切换,且鼠标停留在图片上,停止切换,鼠标移开,继续切换
第一步:先写一个div,用来放四张图片,设置其id="pics"
设置图片及其大小,和是否可见,第一张可见,其他的不可见,例如:
<div id="first" onmouseover="stopPic()" onmouseout="startPic()"> <img src="imgs/02.jpg"style="display:‘‘"width=“310px height=”450px“/> </div>
?
?
第二步:图片切换的方法,传入一个参数,表示从第num张图片起
//定义一个全局变量,用来表示到几张图片了,这里是从0开始的
var num=0;
function ChangePic(num){
var pics = document.getElementById("pics");
//获得id为first的div的所有的div子节点,得到一个数组
var imgs = pics.getElementsByTagName("img");
//判断该图片是否可见,若不可见,则设为可见
if(imgs[num].style.display=="none"){
imgs[num].style.display="";
}
//将除了当前图片外的所有图片设为不可见
for(var i=0;i<imgs.length;i++){
if(i!=num){
imgs[i].style.display="none";
}
}
}
//设置一个全局变量,用来接收setTime()的值
var flag;
//自动切换图片的方法
function autoPic(){
//图片数加1 ,当到了第四张时,则跳回第一张
num++;
if(num>=4){
num=1;
}
//调用图片切换的方法
ChangePic(num);
//每隔一段时间,调用自己,实现自动切换图片
flag = setTimeout("ChangePic()",1000);
}
?
?
第三步:将autoPic方法加载到body里面,当运行该文件时,会自动调用该方法
?
<BODY onLoad="autoPic()">
?
第四步:设置鼠标停留的效果
//鼠标停在图片上,停止切换图片
function stopPic(){
clearTimeout(flag);
}
//鼠标移开,图片自动切换
function startPic(){
flag = setTimeout("autoPic()",1000);
}
?
第五步:在放置图片的div上,调用鼠标停留在图片上,图片停止切换,和鼠标移开再次开始切换的方法
<div id="pics" onmouseover="stopPic()" onmouseout="startPic()">
?
这样图片的自动切换效果就做好了
原文:http://2240550808.iteye.com/blog/2166108