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 相关文章推荐
JavaScript 精粹读书笔记(1,2)
Feb 07 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
Jan 14 Javascript
初识 Vue.js 中的 *.Vue文件
Nov 22 Javascript
详解vue表单——小白速看
Apr 08 Javascript
详解JS函数stack size计算方法
Jun 18 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
Element Carousel 走马灯的具体实现
Jul 26 Javascript
Vue Mint UI mt-swipe的使用方式
Jun 05 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
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
PHP生成器简单实例
2015/05/13 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
jQuery的css()方法用法实例
2014/12/24 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python类的基础入门知识
2008/11/24 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
国际贸易毕业生求职信范文
2014/02/21 职场文书
电子商务专业求职信
2014/03/08 职场文书
超市工作总结范文2014
2014/12/19 职场文书
平安家庭事迹材料
2014/12/20 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
安全教育培训心得体会
2016/01/15 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript