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扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
jQuery Validate表单验证入门学习
Dec 18 Javascript
Bootstrap每天必学之警告框插件
Apr 26 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
May 09 Javascript
jQuery无缝轮播图代码
Dec 22 Javascript
Vue.js实现网格列表布局转换方法
Aug 25 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
Sep 05 Javascript
layui表格 列自动适应大小失效的解决方法
Sep 06 Javascript
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
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
收集的DedeCMS一些使用经验
2007/03/17 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
详解Python当中的字符串和编码
2015/04/25 Python
Python操作串口的方法
2015/06/17 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
Python File readlines() 使用方法
2018/03/19 Python
python计算两个地址之间的距离方法
2018/06/09 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
时尚休闲吧创业计划书
2014/01/25 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
服务理念标语
2014/06/18 职场文书
校园广播稿精选
2014/10/01 职场文书
团员个人总结
2015/02/26 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL