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 相关文章推荐
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
Aug 13 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
Javascript基础教程之数据类型 (字符串 String)
Jan 18 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
Sep 16 Javascript
AngularJS之页面跳转Route实例代码
Mar 10 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
vue2.0使用swiper组件实现轮播效果
Nov 27 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
深入理解Puppeteer的入门教程和实践
Mar 05 Javascript
Moment.js实现多个同时倒计时
Aug 26 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
Aug 22 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
ini_set的用法介绍
2014/01/07 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
JQuery1.6 使用方法三
2011/11/23 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python中动态检测编码chardet的使用教程
2017/07/06 Python
python获取多线程及子线程的返回值
2017/11/15 Python
基于python实现聊天室程序
2018/07/27 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
《在山的那边》教学反思
2014/02/23 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
财务管理专业自荐书
2014/09/02 职场文书
科技活动总结范文
2015/05/11 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
工作简报怎么写
2015/07/21 职场文书
浅析JavaScript中的变量提升
2022/06/01 Javascript