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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
Js 订制自己的AlertBox(信息提示框)
Jan 09 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
Mar 10 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
May 23 Javascript
使用jQuery实现更改默认alert框体
Apr 13 Javascript
JavaScript调用浏览器打印功能实例分析
Jul 17 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
基于vue2的table分页组件实现方法
Mar 20 Javascript
详解wepy开发小程序踩过的坑(小结)
May 22 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 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更快的提供文件下载的代码
2012/06/13 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python中快速进行多个字符替换的方法小结
2016/12/15 Python
关于python的list相关知识(推荐)
2017/08/30 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Python数据结构之图的应用示例
2018/05/11 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
flask session组件的使用示例
2018/12/25 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
英语系毕业生自荐信
2013/10/31 职场文书
小学美术教学反思
2014/02/01 职场文书
大学新学期计划书
2014/04/28 职场文书
质量承诺书怎么写
2014/05/24 职场文书
文艺演出策划方案
2014/06/07 职场文书
2015年国庆节寄语
2015/08/17 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
python实现会员信息管理系统(List)
2022/03/18 Python