用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 相关文章推荐
JavaScript 10件让人费解的事情
Feb 15 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
bootstrap自定义样式之bootstrap实现侧边导航栏功能
Sep 10 Javascript
详解vue在项目中使用百度地图
Mar 26 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
深入理解javascript prototype的相关知识
Sep 19 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
May 07 Javascript
深入了解Vue.js 混入(mixins)
Jul 23 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 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跨站刷票的实现代码
2013/06/18 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python读取Excel实例详解
2018/08/17 Python
用Python逐行分析文件方法
2019/01/28 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
python解释器安装教程的方法步骤
2020/07/02 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
python爬取代理ip的示例
2020/12/18 Python
Django中ORM的基本使用教程
2020/12/22 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
营销主管自我评价怎么写
2013/09/19 职场文书
文史专业毕业生自荐信
2013/11/17 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
西门豹教学反思
2014/02/04 职场文书
小学母亲节活动方案
2014/03/14 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
会议营销主持词
2015/07/03 职场文书
珍爱生命主题班会
2015/08/13 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python