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 相关文章推荐
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
validator验证控件使用代码
Nov 23 Javascript
JQuery获取样式中的background-color颜色值的问题
Aug 20 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
javascript 自定义回调函数示例代码
Sep 26 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
Dec 14 Javascript
javaScript中push函数用法实例分析
Jun 08 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
vue自动化路由的实现代码
Sep 30 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
JavaScript实现单点登录的示例
Sep 23 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
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
详解python 注释、变量、类型
2018/08/10 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
如何基于python实现归一化处理
2020/01/20 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
python实现密码强度校验
2020/03/18 Python
大学生的自我鉴定范文
2014/01/21 职场文书
工程资料员岗位职责
2014/03/10 职场文书
销售团队口号大全
2014/06/06 职场文书
考试保密承诺书
2014/08/30 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书