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 相关文章推荐
javascript suggest效果 自动完成实现代码分享
Feb 17 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 Javascript
jQuery中slideUp()方法用法分析
Dec 24 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
Aug 06 Javascript
js实现表单多按钮提交action的处理方法
Oct 24 Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 Javascript
Angular 4.X开发实践中的踩坑小结
Jul 04 Javascript
vue实现树形菜单效果
Mar 19 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
JS实现拼图游戏
Jan 29 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
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
可定制的PHP缩略图生成程式(需要GD库支持)
2007/03/06 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
javascript 动态添加表格行
2006/06/22 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
python对象及面向对象技术详解
2016/07/19 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
如何利用Python识别图片中的文字
2020/05/31 Python
Python无损压缩图片的示例代码
2020/08/06 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
利用python进行文件操作
2020/12/04 Python
python中四舍五入的正确打开方式
2021/01/18 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
php优化查询foreach代码实例讲解
2021/03/24 PHP
大学生就业意向书范文
2014/04/01 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
优秀高中学生评语
2014/12/30 职场文书