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 相关文章推荐
正则表达式语法
Oct 09 Javascript
js验证表单大全
Nov 25 Javascript
判断用户是否在线的代码
Mar 05 Javascript
工作需要写的一个js拖拽组件
Jul 28 Javascript
jquery果冻抖动效果实现方法
Jan 15 Javascript
jquery控制表单输入框显示默认值的方法
May 22 Javascript
JS实现网站菜单拖拽移位效果的方法
Sep 24 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
jquery的checkbox,radio,select等方法小结
Aug 30 Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 Javascript
JS实现关键词高亮显示正则匹配
Jun 22 Javascript
Vue快速实现通用表单验证功能
Dec 05 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
杏林同学录(七)
2006/10/09 PHP
PHP parse_url 一个好用的函数
2009/10/03 PHP
php页面缓存方法小结
2015/01/10 PHP
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
浅谈js闭包理解
2019/03/28 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
图文详解WinPE下安装Python
2016/05/17 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
竞聘书模板
2014/03/31 职场文书
会计工作检讨书
2015/02/19 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
alibaba seata服务端具体实现
2022/02/24 Java/Android