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 相关文章推荐
了解jQuery技巧来提高你的代码
Jan 08 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
jQuery插件开发全解析
Oct 10 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
基于javascript的COOkie的操作实现只能点一次
Dec 26 Javascript
JavaScript入门系列之知识点总结
Mar 24 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
jQuery使用经验小技巧(推荐)
May 31 Javascript
JavaScript 中有关数组对象的方法(详解)
Aug 15 Javascript
Angular将填入表单的数据渲染到表格的方法
Sep 22 Javascript
vue中如何创建多个ueditor实例教程
Nov 14 Javascript
bootstrap datepicker的基本使用教程
Jul 09 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
如何删除多级目录
2006/10/09 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
微信小程序实现打卡日历功能
2020/09/21 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
python检查指定文件是否存在的方法
2015/07/06 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
TensorFlow损失函数专题详解
2018/04/26 Python
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
教师党员批评与自我批评
2014/10/15 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
大学入学感言
2015/08/01 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书