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 相关文章推荐
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
纯javascript实现四方向文本无缝滚动效果
Jun 16 Javascript
使用Raygun来自动追踪AngularJS中的异常
Jun 23 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
Oct 26 Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 Javascript
vue实现计步器功能
Nov 01 Javascript
js实现百度淘宝搜索功能
Feb 17 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
类的另类用法--数据的封装
2006/10/09 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
浅谈javascript回调函数
2014/12/07 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
jQuery操作元素追加内容示例
2020/01/10 jQuery
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
Python科学计算之Pandas详解
2017/01/15 Python
Python通过future处理并发问题
2017/10/17 Python
Django 路由控制的实现
2019/07/17 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
装饰资料员岗位职责
2013/12/30 职场文书
法律七进实施方案
2014/03/15 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
年检委托书
2014/08/30 职场文书
2014年服务员工作总结
2014/11/18 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
python - asyncio异步编程
2021/04/06 Python
Golang并发操作中常见的读写锁详析
2021/08/30 Golang