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(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 Javascript
setInterval与clearInterval的使用示例代码
Jan 28 Javascript
JavaScript模块化开发之SeaJS
Dec 13 Javascript
JavaScript学习笔记之数组求和方法
Mar 23 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
vue子父组件通信的实现代码
Jul 09 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
基于vue和bootstrap实现简单留言板功能
May 30 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 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中取得image按钮传递的name值
2006/10/09 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
js 链式延迟执行DOME
2012/01/04 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
python 字典(dict)按键和值排序
2016/06/28 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
2015年信贷员工作总结
2015/04/28 职场文书
2016十一国庆节感言
2015/12/09 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
Python anaconda安装库命令详解
2021/10/16 Python