js实现按钮控制带有停顿效果的图片滚动


Posted in Javascript onAugust 30, 2016

本文实例使用js实现带有停顿效果的图片滚动,受按钮控制,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>无缝滚动2</title>
 <style>
 #warp{
 width: 1250px;
 height: 300px;
 overflow: hidden;
 margin:100px auto 0;
 overflow-x: auto;
 }
 #warp #con{
 width: 4000px;
 height: 300px;
 overflow: hidden;
 }
 #warp #con #box1{
  float: left;
  overflow: hidden;
 }
 #warp #con #box2{
  float: left;
  overflow: hidden;
 }
 #warp img{
 float: left;
 margin-right: 10px;
 width: 200px;
 height: 300px;
 }
 .btn{
 text-align: center;
 margin-top: 10px;
 }
 .btn button{
 font-size: 16px;
 }
 </style>
</head>
<body>
 <div id="warp">
 <div id="con">
  <div id="box1">
  <img src="images/meinv1.jpg" alt="">
  <img src="images/meinv2.jpg" alt="">
  <img src="images/meinv3.jpg" alt="">
  <img src="images/meinv4.jpg" alt="">
  <img src="images/meinv5.jpg" alt="">
  <img src="images/meinv6.jpg" alt="">
  </div>
  <div id="box2"></div>
 </div>
 </div>
 <div class="btn">
 <button id="scrollL"><<左滚</button>
 <button id="scrollR">右滚>></button>
 </div>
 <script>
 var warp=document.getElementById('warp');
 var con=document.getElementById('con');
 var box1=document.getElementById('box1');
 var box2=document.getElementById('box2');
 var img=box1.getElementsByTagName('img')[0];
 var scrollL=document.getElementById('scrollL');
 var scrollR=document.getElementById('scrollR');
 var timer1=null,timer2=null,flage=1;
 box2.innerHTML=box1.innerHTML;
 max=box1.clientWidth;
 imgmax=img.clientWidth+10;
 function scrollLeft(){
  flage=1;
  clearInterval(timer1);
  timer1=setInterval(function(){
  warp.scrollLeft++;
  if (warp.scrollLeft>=max) {
   warp.scrollLeft=0;
  }
  if(warp.scrollLeft%imgmax==0){
   clearInterval(timer1);
   clearTimeout(timer2);
   timer2=setTimeout(function(){
   timer1=setInterval(scrollLeft,5)
   },2000)
  }
  },5)
 }
 function scrollRight(){
  flage=0;
  clearInterval(timer1);
  timer1=setInterval(function(){
  warp.scrollLeft--;
  if (warp.scrollLeft<=0) {
   warp.scrollLeft=max;
  }
  if(warp.scrollLeft%imgmax==0){
   clearInterval(timer1);
   clearTimeout(timer2);
   timer2=setTimeout(function(){
   timer1=setInterval(scrollRight,5)
   },2000)
  }
  },5)
 }
  scrollLeft();
 scrollL.onclick=function(){
  // clearInterval(timer1);
  // clearTimeout(timer2);
  scrollLeft();
 }
 scrollR.onclick=function(){
  // clearInterval(timer1);
  // clearTimeout(timer2);
  scrollRight();
 }
 warp.onmouseenter=function(){
  clearInterval(timer1);
  clearTimeout(timer2);
 }
 warp.onmouseleave=function(){
  clearInterval(timer1);
  clearTimeout(timer2);
  console.log(flage);
  if (flage) {scrollLeft();}
  else{scrollRight();} 
 }
 </script>
</body>
</html>

这种效果的具体效果是鼠标移上去滚动停止,移出滚动,滚动时是一张一张图片的滚动,即滚动一张之后停2s开始滚动下一张,具体内容请大家参考代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Mootools 1.2教程 Fx.Tween的使用
Sep 15 Javascript
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
node.js中的socket.io入门实例
Apr 26 Javascript
js实现获取焦点后光标在字符串后
Sep 17 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
Nov 24 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 Javascript
动态创建Angular组件实现popup弹窗功能
Sep 15 Javascript
关于vue的npm run dev和npm run build的区别介绍
Jan 14 Javascript
使用layer模态框给新页面传值的方法
Sep 27 Javascript
JS数组属性去重并校验重复数据
Jan 10 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 Javascript
js制作网站首页图片轮播特效代码
Aug 30 #Javascript
js实现简单的碰壁反弹效果
Aug 30 #Javascript
js控住DOM实现发布微博效果
Aug 30 #Javascript
AngularJS动态生成div的ID源码解析
Aug 29 #Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 #Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 #Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
Aug 29 #Javascript
You might like
PHP $_SERVER详解
2009/01/16 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
Django内容增加富文本功能的实例
2017/10/17 Python
python机器人运动范围问题的解答
2019/04/29 Python
Python zip函数打包元素实例解析
2019/12/11 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
代理商会议邀请函
2014/01/27 职场文书
个人简历自荐信
2014/06/26 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
python基础之//、/与%的区别详解
2022/06/10 Python