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 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
jQuery生成asp.net服务器控件的代码
Feb 04 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 Javascript
Jquery on方法绑定事件后执行多次的解决方法
Jun 02 Javascript
原生js实现ajax方法(超简单)
Sep 20 Javascript
原生js实现无缝轮播图效果
Jan 11 Javascript
JS数组去重(4种方法)
Mar 27 Javascript
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
对 Vue-Router 进行单元测试的方法
Nov 05 Javascript
vue router总结 $router和$route及router与 router与route区别
Jul 05 Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 Javascript
js实现坦克移动小游戏
Oct 28 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运行模式的深入理解
2013/06/03 PHP
PHP的拦截器实例分析
2014/11/03 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
利用python编写一个图片主色转换的脚本
2017/12/07 Python
django中静态文件配置static的方法
2018/05/20 Python
python绘制热力图heatmap
2020/03/23 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python求凸包及多边形面积教程
2020/04/12 Python
python爬虫---requests库的用法详解
2020/09/28 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
电子商务专业个人的自我评价分享
2013/10/29 职场文书
写给保洁员表扬信
2014/01/08 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
初中毕业生自我评价
2015/03/02 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
二年级数学教学反思
2016/02/16 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
python scrapy简单模拟登录的代码分析
2021/07/21 Python