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封装的对话框简单实现
Jul 21 Javascript
jQuery中slideUp()方法用法分析
Dec 24 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
对称加密与非对称加密优缺点详解
Feb 06 Javascript
完美实现js选项卡切换效果(二)
Mar 08 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
使用node.js搭建服务器
May 20 Javascript
深入理解Angular4中的依赖注入
Jun 07 Javascript
vue内置组件transition简单原理图文详解(小结)
Jul 12 Javascript
微信小程序封装自定义弹窗的实现代码
May 08 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
vue点击按钮实现简单页面的切换
Sep 08 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页面间传递参数实例代码
2008/06/05 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
vue-cli开发环境实现跨域请求的方法
2018/04/07 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
numpy 计算两个数组重复程度的方法
2018/11/07 Python
django解决跨域请求的问题
2018/11/11 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
竞选班长的演讲稿
2014/04/24 职场文书
成本会计实训报告
2014/11/05 职场文书
初中作文评语集锦
2014/12/25 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
留学推荐信中文范文
2015/03/26 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python