Javascript实现图片轮播效果(二)图片序列节点的控制实现


Posted in Javascript onFebruary 17, 2016

推荐阅读:Jquery代码实现图片轮播效果(一)

在上篇文章给大家介绍了Javascript实现图片轮播效果(一)让图片跳动起来,这里我们实现图片序列节点的跳转实现.在图片跳转的同时,我们一般需要知道他跳转的是哪个位置,这里就是图片序列节点需要跟图片一同显示.下面我们就直接作分析.

在没讲正文之前先给大家展示效果图:

Javascript实现图片轮播效果(二)图片序列节点的控制实现

在HTML,CSS代码结构中我们需要加入一个图片序列是否选中的样式

#slider ol li a.active{
background-color: #ffffff;
color: #ff0000;
}

JS代码中我们需要对上一篇文章的JS代码做一些改变和增加,这里首先要改变的是将跳转的代码做一次封装,封装到一个方法中,然后返回setInterval的值.这个主要是为序列节点实现一些功能.

然后在跳转代码中,改变相应的序列节点的样式,为了能够展示跳转的位置.

//图片节点
var slider = document.getElementById("slider");
var imgul = slider.getElementsByTagName("ul")[0];
var imglis = imgul.getElementsByTagName("li");
var len = imglis.length;
//图片序列节点
var numol = slider.getElementsByTagName("ol")[0];
var numlinks = numol.getElementsByTagName("a");
//共享序列
var index = 0;
//图片跳转,图片跳转的同时,改变序列节点的跳转
var jump = function () {
return setInterval(function(){
if(index >= len){
index = 0;
}
//图片跳转
imgul.style.left = - (800 * index) + "px";
//改变序列节点样式:首先要清除所有的链接的样式,然后在激活对应的序列节点样式
for (var i = 0; i < len; i++) {
numlinks[i].setAttribute("class","");
}
numlinks[index].setAttribute("class","active");
index++;
},2000);
};
var jumpindex = jump();

这里还需要加入序列节点的hover状态下的控制.

hover后图片跳转应该停止,应停留在hover下的图片展示这里序列节点的数目与图片的数目是相对应的,因此可以通过当前序列节点所在的位置来改变其他的状态.

当鼠标离开序列节点后,应当让图片继续自动跳转.

//增加序列节点的hover控制: 1. hover后要禁止图片的跳转,显示在当前的图片上,这里就需要清除跳转 2.hover离开后,在当前的图片上做图片的跳转
for (var i = 0; i < len; i++){
//hover
numlinks[i].onmouseover = function () {
clearInterval(jumpindex);
for (var i = 0; i < len; i++) {
numlinks[i].setAttribute("class","");
if (numlinks[i] === this){
index = i;
}
}
imgul.style.left = - (800 * index) + "px";
numlinks[index].setAttribute("class","active");
}
//out
numlinks[i].onmouseout = function(){
jumpindex = jump();
}
}

这样我们就完成了第二步的效果.到此本文的全部叙述也就给大家介绍完了,希望对大家有所帮助。

Javascript 相关文章推荐
用JavaScript实现单继承和多继承的简单方法
Mar 29 Javascript
基于Jquery的温度计动画效果
Jun 18 Javascript
Dom在ajax技术中的作用说明
Oct 25 Javascript
JavaScript获得表单target属性的方法
Apr 02 Javascript
jQuery对象与DOM对象转换方法详解
May 10 Javascript
详解用node编写自己的cli工具
May 23 Javascript
vue服务端渲染缓存应用详解
Sep 12 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
jQuery中使用validate插件校验表单功能
May 24 jQuery
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 Javascript
JavaScript实现移动端拖动元素
Nov 24 Javascript
javascript实现左右缓动动画函数
Nov 25 Javascript
Bootstrap中CSS的使用方法
Feb 17 #Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
Feb 17 #Javascript
基于javascript简单实现对身份证校验
Jan 25 #Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
Feb 17 #Javascript
Bootstrap布局组件应用实例讲解
Feb 17 #Javascript
深入php面向对象、模式与实践
Feb 16 #Javascript
三个js循环的关键字示例(for与while)
Feb 16 #Javascript
You might like
php遍历类中包含的所有元素的方法
2015/05/12 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
jquery制作图片时钟特效
2020/03/30 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python实现图片拼接的代码
2018/07/02 Python
python pandas时序处理相关功能详解
2019/07/03 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
用python写爬虫简单吗
2020/07/28 Python
python pillow库的基础使用教程
2021/01/13 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
考试作弊检讨书大全
2014/02/18 职场文书
奥运会口号
2014/06/13 职场文书
经典禁毒标语
2014/06/16 职场文书
租房协议书
2014/09/12 职场文书
公司合作协议范文
2014/10/01 职场文书
八一建军节慰问信
2015/02/14 职场文书
2015年助残日活动总结
2015/03/27 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
导游词之河北邯郸
2019/09/12 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python