JS图片轮播与索引变色功能实例详解


Posted in Javascript onJuly 06, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#tupian{ width:290px; height:160px; border:#0F9 solid 1px}
.tp{ width:220px; height:160px; float:left}
.li{ margin-top:10px;list-style:none; border:#00F solid 1px; width:20px;}
</style>
</head>
<body>
 <div id="tupian">
   <div class="tp" onmouseover="sbfs()" onmouseout="jixu()"><img src="../../项目素材/图片/84372.jpg" /></div>
   <div class="tp" onmouseover="sbfs()" onmouseout="jixu()" style="display:none" ><img src="../../项目素材/图片/84610.jpg" /></div>
   <div class="tp" onmouseover="sbfs()" onmouseout="jixu()" style="display:none"><img src="file:///C|/Users/gaofangquan/Desktop/项目素材/图片/84246.jpg" /></div>
   <div class="tp" onmouseover="sbfs()" onmouseout="jixu()" style="display:none"><img src="../../项目素材/图片/84639 (1).jpg" /></div>
   <div id="xuanxiang" style="float:right; ">
   <ul>
    <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">1</li>
    <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">2</li>
    <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">3</li>
    <li class="li" onmouseover="xz(this),xuanzhong(this)" onmouseout="shuzilikai()">4</li>
   </ul>
   </div>
 </div>
</body>
<script type="text/jscript">
var aaaa=document.getElementsByClassName("tp")
var bbb=document.getElementsByClassName("li")
var index=0;
lunbo();
function lunbo(){
 xianshi();
 if( index<aaaa.length-1){
  index++;}
  else{index=0;}}
 var a=window.setInterval("lunbo()",1000)
    //图片与数列的背景同时变化
 function xianshi(){
  for( var i=0;i<aaaa.length;i++){
   aaaa[i].style.display="none"
   bbb[i].style.backgroundColor="white"}
   aaaa[index].style.display="block"
   bbb[index].style.backgroundColor="red"}
 //鼠标放在数列上背景变色<br>function xz(n){
 var b=document.getElementsByClassName("li")
 for( var i=0; i<b.length; i++){
  b[i].style.backgroundColor="white"}
  n.style.backgroundColor="red"}
  //当鼠标放到图片上的时候,图片停止轮播
function sbfs(){
 window.clearInterval(a)}  
 //当鼠标离开图片的时候,轮播继续 
function jixu(){
  a=window.setInterval("lunbo()",1000);}
 //鼠标放上,图片与相对应的li的值得索引显示出来  
function xuanzhong(m){
 var ccc=document.getElementsByClassName("tp")
 index=m.innerHTML-1;// 因为m.innerhtml 获取的时数列li的值,比ccc的索引大1,所以应该减去1;
       //把获取的值赋给index是因为如果重新定义一个变量的话,当鼠标离开li的时候,图片轮播的索引很乱,
  for( var i=0;i<ccc.length;i++){
   ccc[i].style.display="none"}
   ccc[index].style.display="block"
   window.clearInterval(a)}
 //鼠标离开让图片自动切换  
function shuzilikai(){
 a=window.setInterval("lunbo()",1000)}
</script>
</html>

 1、js图片轮播首先要先获取所有图片的对象,用数组接受,然后定义一个变量作为数组的索引。

    2、让图片显示(先让所有的图片隐藏,再让当前图片显示),索引自增1。注意:在写定时器的时候可以写延时的也可以写间歇的。在这里我写间歇的。

    3、鼠标放在图片上停止轮播,这里我们可以清除定时器window.clearInterval(a);鼠标离开图片轮播继续再重新启动定时器a=window.setInterval("lunbo()",1000),这里注意要给定时器定义一个值,因为清除定时器要用。

    4、鼠标放上,图片与相对应的li的值得索引显示出来,让获取的数列的值赋给数组的索引(index=m.innerHTML-1),因为m.innerhtml 获取的时数列li的值,比数组的索引大1,所以应该减去1;

以上所述是小编给大家介绍的JS图片轮播与索引变色功能实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
得到form下的所有的input的js代码
Nov 07 Javascript
JS获取计算机mac地址以及IP的实现方法
Jan 08 Javascript
详解javascript的变量与标识符
Jan 04 Javascript
javascript中的作用域和闭包详解
Jan 13 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
JS对象的深度克隆方法示例
Mar 16 Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
webpack的CSS加载器的使用
Sep 11 Javascript
解决VUE中document.body.scrollTop为0的问题
Sep 15 Javascript
vue组件通信传值操作示例
Jan 08 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 Javascript
JavaScript 声明私有变量的两种方式
Feb 05 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 #jQuery
vue2.0 keep-alive最佳实践
Jul 06 #Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 #Javascript
详解Angular Reactive Form 表单验证
Jul 06 #Javascript
让div运动起来 js实现缓动效果
Jul 06 #Javascript
老生常谈Bootstrap媒体对象
Jul 06 #Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 #jQuery
You might like
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
解析php常用image图像函数集
2013/06/24 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
Python下使用Psyco模块优化运行速度
2015/04/05 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
Python中的集合介绍
2019/01/28 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python用SSH连接到网络设备
2021/02/18 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
环保专业大学生职业规划设计
2014/01/10 职场文书
任命书格式
2014/06/05 职场文书
晚会开幕词
2015/01/28 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书