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 相关文章推荐
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
Apr 30 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 Javascript
vuex学习之Actions的用法详解
Aug 29 Javascript
Vue实现table上下移动功能示例
Feb 21 Javascript
通过js给网页加上水印背景实例
Jun 17 Javascript
layer.alert回调函数执行关闭弹窗的实例
Sep 11 Javascript
ES6中Promise的使用方法实例总结
Feb 18 Javascript
简单了解前端渐进式框架VUE
Jul 20 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 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
python进阶教程之异常处理
2014/08/30 Python
Python中optparse模块使用浅析
2015/01/01 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
毕业生自荐信
2013/12/14 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
python实现的web监控系统
2021/04/27 Python
Django分页器的用法你都了解吗
2021/05/26 Python
SQL中的三种去重方法小结
2021/11/01 SQL Server
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS