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写的实用看图工具实现代码
Jul 26 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
jQuery的bind()方法使用详解
Jul 15 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
浅析Bootstrip的select控件绑定数据的问题
May 10 Javascript
js实现String.Fomat的实例代码
Sep 02 Javascript
jquery中有哪些api jQuery主要API
Nov 20 jQuery
vue登录路由验证的实现
Dec 13 Javascript
微信小程序wxs实现吸顶效果
Jan 08 Javascript
JavaScript oncopy事件用法实例解析
May 13 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 Vue.js
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
解决CodeIgniter伪静态失效
2014/06/09 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
JavaScript实现短暂提示框功能
2018/04/04 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
python动态监控日志内容的示例
2014/02/16 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
编写类String 的构造函数、析构函数和赋值函数
2012/09/09 面试题
社会学专业学生职业规划书
2014/02/07 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
银行培训心得体会范文
2016/01/09 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
导游词之山东孔庙
2019/11/04 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android