用JS实现轮播图效果(二)


Posted in Javascript onJune 26, 2016

在上一篇用JS实现图片轮播效果代码(一)的基础上,增加了左右箭头的响应事件,实现了点击左右箭头也可以让图片滚动:

js代码如下:

window.onload = function(){
//轮播初始化
var lunbo = document.getElementById('content');
var imgs = lunbo.getElementsByTagName('img'); 
var uls = lunbo.getElementsByTagName('ul');
var lis = lunbo.getElementsByTagName('li');
var next = document.getElementById('next');
var prev = document.getElementById('prev');
var item = 0;
//初始状态下,一个圆圈为高亮模式
lis[0].style.fontSize = '26px';
lis[0].style.color = '#fff';
imgs[0].style.display = 'block';
//定义一个全局变量,用来进行自动轮播图片顺序的变化
var pic_index = 1;
//自动轮播.使用pic_time记录播放,可以随时使用clearInterval()清除掉。
var pic_time = setInterval(autobofang,1000);
//自动播放的事件处理
function autobofang(){
if(pic_index >= lis.length){
pic_index = 0;
}
picChange(pic_index);
pic_index++;
}
//手动轮播
for(var i=0;i<lis.length;i++){ 
lis[i].addEventListener("mouseover",change,false);
}
function change(event){ 
var event=event||window.event;
var target=event.target||event.srcElement; 
var children = target.parentNode.children; 
for(var i=0;i<children.length;i++){
if(target == children[i]){ 
picChange(i); 
} 
}
} 
//图片切换函数
function picChange(i){ 
//让所有图片都不显示,所有圆圈都为普通样式 
for(var j=0;j<imgs.length;j++){ 
imgs[j].style.display = 'none'; 
lis[j].style.fontSize = '24px';
lis[j].style.color = '#999';
}
//让选中的索引的图片显示,对应的圆圈高亮 
imgs[i].style.display = 'block'; 
lis[i].style.fontSize = '26px';
lis[i].style.color = '#fff'; 
}
//当鼠标移近图片区域内,自动播放停止
lunbo.addEventListener("mouseover",function(){
clearInterval(pic_time);
},false);
//当鼠标移出图片区域内,自动播放继续
lunbo.addEventListener("mouseout",function(){pic_time = setInterval(autobofang,1000); },false);
//后退箭头点击事件,图片会跟着点击事件不断变化 
next.addEventListener("click",movenext,false);
function movenext(){
if(item == 2){
item=0;
}
else{
item+=1;
}
picChange(item);
}
prev.addEventListener("click",moveprev,false);
function moveprev(){
if(item == 0){
item=2;
}
else{
item-=1;
} 
picChange(item);
}
}

效果图:鼠标划过箭头的效果图

用JS实现轮播图效果(二)

当鼠标点击到箭头,图片会跟着变化,下面的小圆圈也会跟着显示对应图片的高亮效果

用JS实现轮播图效果(二)

总结:

基本轮播效果已经实现,后期需要做的事:是对代码要进行精简,封装,提高运行效率。

Javascript 相关文章推荐
JS input 数字验证代码
Jul 30 Javascript
ext 同步和异步示例代码
Sep 18 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
基于jquery实现点击左右按钮图片横向滚动
Apr 11 Javascript
仿百度的关键词匹配搜索示例
Sep 25 Javascript
Javascript浅谈之引用类型
Dec 18 Javascript
js中不同的height, top的区别对比
Sep 24 Javascript
JS与jQ读取xml文件的方法
Dec 08 Javascript
jquery获取easyui日期控件的值实现方法
Nov 09 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 Javascript
vue awesome swiper异步加载数据出现的bug问题
Jul 03 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 #Javascript
JavaScript中Form表单技术汇总(推荐)
Jun 26 #Javascript
jQuery滚动新闻实现代码
Jun 26 #Javascript
js css实现垂直方向自适应的三角提示菜单
Jun 26 #Javascript
JS中的进制转换以及作用
Jun 26 #Javascript
JavaScript类型系统之布尔Boolean类型详解
Jun 26 #Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
Jun 26 #Javascript
You might like
用PHP函数解决SQL injection
2006/12/09 PHP
php简单静态页生成过程
2008/03/27 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
js密码强度校验
2015/11/10 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
AngularJS 异步解决实现方法
2017/06/12 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
Python序列循环移位的3种方法推荐
2018/04/09 Python
python处理数据,存进hive表的方法
2018/07/04 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
AUC计算方法与Python实现代码
2020/02/28 Python
python中可以声明变量类型吗
2020/06/18 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
方法名是否可以与构造器的名字相同
2012/06/04 面试题
《鱼游到了纸上》教学反思
2014/02/20 职场文书
业务员的岗位职责
2014/03/15 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
入党申请书怎么写?
2019/06/11 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL