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 相关文章推荐
JavaScript类型转换方法及需要注意的问题小结(挺全面)
Nov 11 Javascript
js点击页面其它地方将某个显示的DIV隐藏
Jul 12 Javascript
查找iframe里元素的方法可传参
Sep 11 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
浅谈js的url解析函数封装
Jun 28 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
JavaScript实现页面高亮操作提示和蒙板
Jan 04 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中的curl使用入门教程和常见用法实例
2014/04/10 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
javascript事件模型代码
2007/07/01 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
python实现QQ批量登录功能
2019/06/19 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
英文版区域经理求职信
2013/10/23 职场文书
医药工作岗位求职信分享
2013/12/31 职场文书
给儿子的表扬信
2014/01/15 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
基层党员对照检查材料
2014/09/24 职场文书
举起手来观后感
2015/06/09 职场文书
详解Vue的options
2021/05/15 Vue.js
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis
Nginx动静分离配置实现与说明
2022/04/07 Servers
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang