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图片预加载技术(详细演示)
Mar 12 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
浅析webapp框架AngularUI的demo
Dec 21 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
webpack进阶——缓存与独立打包的用法
Aug 02 Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 Javascript
react redux入门示例
Apr 19 Javascript
详解webpack4升级指南以及从webpack3.x迁移
Jun 12 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 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
短波收音机简介
2021/03/01 无线电
基于PHP文件操作的详解
2013/06/05 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
python基础教程之匿名函数lambda
2017/01/17 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python实现的config文件读写功能示例
2019/09/24 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
群众路线教育实践活动调研报告
2014/11/03 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
团支部书记竞选稿
2015/11/21 职场文书
python如何正确使用yield
2021/05/21 Python
MySQL插入数据与查询数据
2022/03/25 MySQL
vue ref如何获取子组件属性值
2022/03/31 Vue.js