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也能包含文件
Oct 26 Javascript
JavaScript 仿关机效果的图片层
Dec 26 Javascript
通过隐藏option实现select的联动效果
Nov 10 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
js的逻辑运算符 ||
May 31 Javascript
JS实现侧悬浮浮动实例代码
Nov 29 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
Vue2路由动画效果的实现代码
Jul 10 Javascript
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
jquery实现的放大镜效果示例
Feb 24 jQuery
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 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
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
python写的ARP攻击代码实例
2014/06/04 Python
python根据文件大小打log日志
2014/10/09 Python
python实现的简单抽奖系统实例
2015/05/22 Python
python实现图片中文字分割效果
2019/07/22 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
python实现经纬度采样的示例代码
2020/12/10 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
成人继续教育实施方案
2014/03/01 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
李强感恩观后感
2015/06/17 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
聊聊Python String型列表求最值的问题
2022/01/18 Python