本文介绍使用javascript制作图片浏览切换效果
主要js与解析
<script>
//javascript图片切换效果
function tableChange() {
//获得#Nav中所有的<li>元素
var lis = document.getElementById("Nav").getElementsByTagName("li");
//获得#Pic中所有的<a>元素
var spans = document.getElementById("Pic").getElementsByTagName("span");
//保存当前焦点元素的索引
var current_index = 0;
//启动定时器
var timer = setInterval(autoChange, 3000);
//遍历lis,为各<li>元素添加事件
for (var i = 0; i < lis.length; i++) {
//<li>的鼠标移入事件
lis[i].onmouseover = function () {
//定时器存在时清除定时器
if (timer) {
clearInterval(timer);
}
//遍历lis
for (var i = 0; i < lis.length; i++) {
//设置当前焦点元素的样式
if (lis[i] == this) {
spans[i].className = "sp";
//保存当前索引,当恢复自动切换时继续切换
current_index = i;
//设置非当前焦点元素的样式
} else {
spans[i].className = "";
}
}
}
//<li>的鼠标移出事件
lis[i].onmouseout = function () {
//启动定时器,恢复图片自动切换
timer = setInterval(autoChange, 3000);
}
}
//定时器周期函数-图片自动切换
function autoChange() {
//自增索引
++current_index;
//当索引自增达到上限时,索引归0
if (current_index == lis.length) {
current_index = 0;
}
//遍历lis,将所有元素取消焦点样式
for (var i = 0; i < lis.length; i++) {
spans[i].className = "";
}
//为当前索引元素添加焦点样式
spans[current_index].className = "sp";
}
}
tableChange();
</script>
