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 相关文章推荐
JS教程:window.location使用方法的区别介绍
Oct 04 Javascript
jquery的幻灯片图片切换效果代码分享
Sep 07 Javascript
JavaScript实现打开链接页面的方式汇总
Jun 02 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
详解基于vue-cli优化的webpack配置
Nov 06 Javascript
javascript实现异形滚动轮播
Nov 28 Javascript
谈谈JavaScript中的垃圾回收机制
Sep 17 Javascript
浅谈vant组件Picker 选择器选单选问题
Nov 04 Javascript
Vue实现菜单切换功能
Nov 08 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 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
phpfans留言版用到的install.php
2007/01/04 PHP
php date()日期时间函数详解
2010/05/16 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
Python写的贪吃蛇游戏例子
2014/06/16 Python
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
python单元测试unittest实例详解
2015/05/11 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
个人自我鉴定
2013/11/07 职场文书
期末个人总结范文
2015/02/13 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
工作简报怎么写
2015/07/21 职场文书
培训心得体会怎么写
2016/01/25 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL