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 学习小结(适合新手参考)
Jul 30 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
jQuery取得设置清空select选择的文本与值
Jul 08 Javascript
在AngularJS中使用AJAX的方法
Jun 17 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 Javascript
JavaScript数据类型学习笔记分享
Sep 01 Javascript
AngularJS  ng-repeat遍历输出的用法
Jun 19 Javascript
vue 实现复制内容到粘贴板clipboard的方法
Mar 17 Javascript
JavaScript实现连连看连线算法
Jan 05 Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 Javascript
Vue开发环境跨域访问问题
Jan 22 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 register_shutdown_function()函数的使用示例
2015/06/23 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
checkbox 多选框 联动实现代码
2008/10/22 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
vue实现登录拦截
2020/06/29 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
在Python的web框架中配置app的教程
2015/04/30 Python
python中zip和unzip数据的方法
2015/05/27 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
浅谈Django REST Framework限速
2017/12/12 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
Django框架视图介绍与使用详解
2019/07/18 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
Python reversed函数及使用方法解析
2020/03/17 Python
JDK安装目录下有哪些内容
2014/08/25 面试题
新浪微博实习心得体会
2014/01/27 职场文书
大学校务公开实施方案
2014/03/31 职场文书
社区反邪教工作方案
2014/06/16 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
python实现学生信息管理系统(面向对象)
2022/06/05 Python