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 常用方法总结
Jun 03 Javascript
浅谈Javascript面向对象编程
Nov 15 Javascript
Ext JS添加子组件的误区探讨
Jun 28 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
javascript 判断两个日期之差的示例代码
Sep 05 Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
Angular 如何使用第三方库的方法
Apr 18 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
javascript中的相等操作符(==与===区别)
Dec 21 Javascript
jquery实现抽奖功能
Oct 22 jQuery
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 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
python dict乱码如何解决
2020/06/07 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
房产公证书样本
2015/01/23 职场文书
安全承诺书格式范本
2015/04/28 职场文书
2015年教研工作总结
2015/05/23 职场文书
党小组鉴定意见
2015/06/02 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android