js图片切换具体实现代码


Posted in Javascript onOctober 13, 2016

本文实例为大家分享了js实现图片切换的方法,供大家参考,具体内容如下

<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
 <title></title>
 <style>
 *{
  margin:0;
  padding:0;
 }
 .all{
  width:600px;
  height:350px;
  position:relative;
  overflow:hidden;
  margin:100px auto;
 }
 .all ul{
  z-index:1;
  position:relative;
 }
 .all ul li{
  position:absolute;
  top:0;
  left:0;
 }
 .all ol{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
 }
 .all ol li{
  width:20px;
  height:20px;
  border:1px solid #fff;
  background-color:#333;
  float:left;
  overflow:hidden;
  margin-right:10px;
  text-align:center;
  line-height:20px;
  color:#fff;
  margin-top:10px;
  font-weight:bold;
 }
 .all ol .current{
  width:30px;
  height:30px;
  border:1px solid #f60;
  color:#f60;
  line-height:30px;
  margin-top:0;
  cursor:pointer;
 }
 </style>
 
 <script>
 //通过id值获得元素的函数
 function $(id){
  return document.getElementById(id);
 }
 
 //初始化函数
 function initial(){
  olLi=document.getElementsByTagName('ol')[0].getElementsByTagName('li');//获取ol下的li
  ol=$('tab');//获取ol元素
  theImg=$('theImg');
  //五张图片的地址
  addressPic=['01.jpg','02.jpg','03.jpg','04.jpg','05.jpg'];
  
  //遍历ol下的li
  for(var i=0;i<olLi.length;i++){
   //依次给每个li绑定mouseover事件,该事件执行切换图片的函数
   olLi[i].addEventListener('mouseover',changePicture,false);
   olLi[i].index=i;//设置ol li的index序列号   
  }
 }
 

 
 //切换图片
 function changePicture(e){
  e.target.className="current";//将选中的ol下的li的class属性设置为current,e.target代表选中的li
  
  //清除ol里的空白节点
  cleanWhitespace(ol);
  
  //删除除当前选中的li外其他li的class属性值
  nextNode=e.target.nextSibling;//当前节点的下一个节点
  lastNode=e.target.previousSibling;//当前节点的前一个节点
  while(nextNode){//将当前节点后所有的兄弟节点的class属性清除
   nextNode.setAttribute('class','');
   nextNode=nextNode.nextSibling;
  }
  while(lastNode){//将当前节点前面所有的兄弟节点的class属性清除
   lastNode.className='';
   lastNode=lastNode.previousSibling;
  }
  
  //实现切换图片的功能 
  theImg.src=addressPic[this.index];
 }
 
 
 //清除ol下的空白节点
 function cleanWhitespace(oElement)
 {
  for(var i=0;i<oElement.childNodes.length;i++){
   var node=oElement.childNodes[i];
   if(node.nodeType==3 && !/\S/.test(node.nodeValue)){ 
     node.parentNode.removeChild(node)
   }
 }
}

 //给窗体绑定load事件,执行初始化函数initial()
 window.addEventListener('load',initial,false);
 </script>
 </head>

 <body>
 <div class="all">
 <ul>
  <li><img id="theImg" src="01.jpg" width="600px" height="350px"/></li>
 </ul>
 <ol id="tab">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li class="current">5</li>
 </ol>
 </div>
 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
jquery 操作日期、星期、元素的追加的实现代码
Feb 07 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
javascript之Array 数组对象详解
Jun 07 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
jQuery Ztree行政地区树状展示(点击加载)
Nov 09 Javascript
Three.JS实现三维场景
Dec 30 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
Apr 26 Javascript
js属性对象的hasOwnProperty方法的使用
Feb 05 Javascript
canvas绘制折线路径动画实现
May 12 Javascript
微信小程序 rpx 尺寸单位详细介绍
Oct 13 #Javascript
jquery实现图片切换代码
Oct 13 #Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 #Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
Oct 13 #Javascript
Javascript中this绑定的3种方法与比较
Oct 13 #Javascript
手机端实现Bootstrap简单图片轮播效果
Oct 13 #Javascript
jquery  实现轮播图详解及实例代码
Oct 12 #Javascript
You might like
CURL状态码列表(详细)
2013/06/27 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
php工具型代码之印章抠图
2018/07/18 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
28个JS验证函数收集
2010/03/02 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
python 字符串和整数的转换方法
2018/06/25 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python Tkinter的图片刷新实例
2019/06/14 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
2020/05/11 Python
如何理解python面向对象编程
2020/06/01 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
《画杨桃》教学反思
2014/04/13 职场文书
支部组织生活会方案
2014/06/10 职场文书
2015年行政部工作总结
2015/04/28 职场文书
家庭经济困难证明
2015/06/23 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书