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使用call调用微信API
Dec 15 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
Jun 10 Javascript
原生js制作日历控件实例分享
Apr 06 Javascript
ES6新特性三: Generator(生成器)函数详解
Apr 21 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
Jul 12 Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
浅谈v-for 和 v-if 并用时筛选条件方法
Nov 07 Javascript
JavaScript判断数据类型有几种方法及区别介绍
Sep 02 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 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 地址栏信息的获取代码
2009/01/07 PHP
javascript 小型动画组件与实现代码
2010/06/02 PHP
php不用正则验证真假身份证
2013/11/06 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
php中opendir函数用法实例
2014/11/15 PHP
php微信公众号开发之简答题
2018/10/20 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jQuery插件开发详细教程
2014/06/06 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
跟老齐学Python之正规地说一句话
2014/09/28 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
营销与策划个人求职信
2013/09/22 职场文书
资产评估专业学生的自我鉴定
2013/11/14 职场文书
心理学专业求职信
2014/06/16 职场文书
2015年电工工作总结
2015/04/10 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
学校团代会开幕词
2016/03/04 职场文书
六年级作文之自救
2019/12/19 职场文书
Python中22个万用公式的小结
2021/07/21 Python
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers