JavaScript实现简易焦点图切换效果
作者:小括号时间:2026-10-29 09:26:16浏览:570
本文提供了一段基于JavaScript实现的简易焦点图切换特效代码。该示例结构简洁,适合初学者学习参考,展示了如何通过简单的DOM操作实现图片轮播效果,有助于理解前端基础交互逻辑。
JavaScript简易焦点图切换示例
本文分享一个使用JavaScript实现的简易焦点图切换特效的完整示例,供读者参考学习。
该示例代码结构非常基础,功能上更接近于滑动门效果,非常适合编程初学者进行借鉴和参考。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
* {margin:0;padding:0;}
ul, li {list-style:none;}
.mid {margin:0 auto;}
.area {
width:240px;height:270px;
overflow:hidden;background:#999;
margin-top:150px;position:relative;
}
#pic_list {
position:relative;
}
#pic_list li {
position:absolute;visibility:hidden;
}
#pic_list li.show {
visibility:visible;
}
#pic_list li img {
vertical-align:middle;
}
.button {
width:240px;height:20px;
line-height:20px;background:#ccc;
position:absolute;bottom:0px;
}
#button {
float:right;
}
#button li {
float:left;width:20px;height:20px;
text-align:center;margin:0 3px;
font-family:"Arial";font-size:12px;
color:#fff;background:#000;
}
#button li.current {
background:#f00;cursor:pointer;
}
</style>
</head>
<body>
<div class="area mid">
<div id="imgbox" class="bbbb">
<ul id="pic_list" class="aaaa">
<li class="show" id="one">
<img src="images/1317279971_77011100.jpg" width="240" />
</li>
<li id="two">
<img src="images/1317279972_01691900.jpg" width="240" />
</li>
<li id="three">
<img src="images/1317279973_69082200.jpg" width="240" />
</li>
<li id="four">
<img src="images/1317281054_38572100.jpg" width="240" />
</li>
<li id="five">
<img src="images/1317281056_61630800.jpg" width="240" />
</li>
</ul>
</div>
<div class="button" class="dddd">
<ul id="button" class="cccc">
<li class="current" id="but_one">1</li>
<li id="but_two">2</li>
<li id="but_three">3</li>
<li id="but_four">4</li>
<li id="but_five">5</li>
</ul>
</div>
</div>
<script type="text/javascript">
(function(){
var imgbox = document.getElementById("imgbox");
var pic_list = document.getElementById("pic_list");
var pics = pic_list.getElementsByTagName("li");
var button = document.getElementById("button").getElementsByTagName("li");
var p;
var start;
function autoplay(start){for(i=start;i<button.length;i++){
//设置起始值为start参数.
(function(){
var p=i;
// 为p赋值i. i等于0,1,2,3,4;
button[i].onmouseover=function change(){
//button[0],button[1],button[2],button[3],button[4]
//onmouseover可以触发函数;
for(j=0;j<this.parentNode.childNodes.length;j++){
//以this(当前触发事件的元素)为起点,的父节点的所有子节点
//的length值为最高值,开始遍历. ;
this.parentNode.childNodes[j].className="";
//以this(当前触发事件的元素)为起点
//的父节点的所有子节点的className为空. 危险慎用.;
}
this.className="current";
//this. 即当前触发onmouseover的元素的className为"current";
for(m=0;m<pics.length;m++){
//以pics.length为最高值进行遍历.遍历pics.;
pics[m].className="";
//清空所有pics数组中所有元素的className;
if (m==p){
//当m==p (p==i) 所以m=i时,触发下列函数
pics[m].className="show";
//pics的第m个元素的className值为show; m在这里等于i;
}
}
}
})();
}
}
autoplay(0);
})();
</script>
</body>
</html>
希望这段代码示例能帮助读者更好地理解JavaScript在程序设计中的应用,从而提升相关技能。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
