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扩展自写的 UI导航
Jan 13 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
Aug 24 Javascript
jQuery实现的自适应焦点图效果完整实例
Aug 24 Javascript
Bootstrap选项卡动态切换效果
Nov 28 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
Mar 16 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 Javascript
微信小程序 select 下拉框组件功能
Sep 09 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
基于pear auth实现登录验证
2010/02/26 PHP
destoon数据库表说明汇总
2014/07/15 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
JavaScript高级程序设计
2006/12/29 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python实现的简单发送邮件脚本分享
2014/11/07 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
浅谈python标准库--functools.partial
2019/03/13 Python
树莓派实现移动拍照
2019/06/22 Python
Python绘制动态水球图过程详解
2020/06/03 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
困难补助申请报告
2015/05/19 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
检察院起诉书
2015/05/20 职场文书