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 Base64编码和解码,实现URL参数传递。
Sep 18 Javascript
JQuery select标签操作代码段
May 16 Javascript
jquery下组织javascript代码(js函数化)
Aug 25 Javascript
javascript中创建对象的几种方法总结
Nov 01 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 Javascript
使用Angular缓存父页面数据的方法
Jan 03 Javascript
纯js的右下角弹窗实例
Mar 12 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 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删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
jQuery实现高亮显示的方法
2015/03/10 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
AngularJS实现全选反选功能
2015/12/08 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
python把转列表为集合的方法
2019/06/28 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
百丽国际旗下购物网站:优购
2017/02/28 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
董事会决议范本
2015/07/01 职场文书
《司马光》教学反思
2016/02/22 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书