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翻页滚动(示例代码)
Nov 18 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
Jun 14 Javascript
JavaScript动态添加列的方法
Mar 25 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
Mar 16 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
electron实现qq快捷登录的方法示例
Oct 22 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 27 Javascript
JS常见内存泄漏及解决方案解析
May 30 Javascript
关于vue的列表图片选中打钩操作
Sep 09 Javascript
JavaScript实现4位随机验证码的生成
Jan 28 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
js将json格式内容转换成对象的方法
2013/11/01 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
python遍历数组的方法小结
2015/04/30 Python
python开发之str.format()用法实例分析
2016/02/22 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python发展史及网络爬虫
2019/06/19 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
应届大学生自荐信
2013/12/05 职场文书
圣诞节红领巾广播稿
2014/02/03 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
亲属关系公证书
2014/04/08 职场文书
促销活动总结范文
2014/04/30 职场文书
房贷收入证明范本
2015/06/12 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android