JS实用的带停顿的逐行文本循环滚动效果实例


Posted in Javascript onNovember 23, 2016

如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title>JS实用的带停顿的逐行文本循环滚动效果</title>
  <meta http-equiv="content-type" content="text/html;charset=gb2312">
  <style type="text/css">
  #scrollBox2{font-size:12px;width:260px;color:#646464;line-height:22px;height:66px;overflow:hidden;text-align:left;}
  </style>
  </head>
  <body>
  <div id="scrollBox2" style="text-align:left;">
  欢迎光临 
  实用的逐行文本滚动效果<br>
  滚动一行至另一行时有所停顿<br>
  希望大家喜欢,感觉挺简洁的代码<br>
  </div>
  <script>
  window.onload=function(){
  new Marquee(
  "scrollBox2", //容器ID<br>
  0, //向上滚动(0向上 1向下 2向左 3向右)<br>
  2, //滚动的步长<br>
  200, //容器可视宽度<br>
  64, //容器可视高度<br>
  50, //定时器 数值越小,滚动的速度越快(1000=1秒,建议不小于20)<br>
  2000, //间歇停顿时间(0为不停顿,1000=1秒)<br>
  1000, //开始时的等待时间(0为不等待,1000=1秒)<br>
 //间歇滚动间距(可选)<br>
  );
  };
  function Marquee(){
  this.ID=document.getElementById(arguments[0]);
  this.Direction=arguments[1];
  this.Step=arguments[2];
  this.Width=arguments[3];
  this.Height=arguments[4];
  this.Timer=arguments[5];
  this.WaitTime=arguments[6];
  this.StopTime=arguments[7];
  if(arguments[8]){this.ScrollStep=arguments[8];}else{this.ScrollStep=this.Direction>1?this.Width:this.Height;}
  this.CTL=this.StartID=this.Stop=this.MouseOver=0;
  this.ID.style.overflowX=this.ID.style.overflowY="hidden";
  this.ID.noWrap=true;
  this.ID.style.width=this.Width;
  this.ID.style.height=this.Height;
  this.ClientScroll=this.Direction>1?this.ID.scrollWidth:this.ID.scrollHeight;
  this.ID.innerHTML+=this.ID.innerHTML;
  this.Start(this,this.Timer,this.WaitTime,this.StopTime);
  }
  Marquee.prototype.Start=function(msobj,timer,waittime,stoptime){
  msobj.StartID=function(){msobj.Scroll();}
  msobj.Continue=function(){
  if(msobj.MouseOver==1){setTimeout(msobj.Continue,waittime);}
  else{clearInterval(msobj.TimerID); msobj.CTL=msobj.Stop=0; msobj.TimerID=setInterval(msobj.StartID,timer);}
  }
  msobj.Pause=function(){msobj.Stop=1; clearInterval(msobj.TimerID); setTimeout(msobj.Continue,waittime);}
  msobj.Begin=function(){
  msobj.TimerID=setInterval(msobj.StartID,timer);
  msobj.ID.onmouseover=function(){msobj.MouseOver=1; clearInterval(msobj.TimerID);}
  msobj.ID.onmouseout=function(){msobj.MouseOver=0; if(msobj.Stop==0){clearInterval(msobj.TimerID); msobj.TimerID=setInterval(msobj.StartID,timer);}}
  }
  setTimeout(msobj.Begin,stoptime);
  }
  Marquee.prototype.Scroll=function(){
  switch(this.Direction){
  case 0:
  this.CTL+=this.Step;
  if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollTop+=this.ScrollStep+this.Step-this.CTL; this.Pause(); return;}
  else{if(this.ID.scrollTop>=this.ClientScroll) this.ID.scrollTop-=this.ClientScroll; this.ID.scrollTop+=this.Step;}
  break;
  case 1:
  this.CTL+=this.Step;
  if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollTop-=this.ScrollStep+this.Step-this.CTL; this.Pause(); return;}
  else{if(this.ID.scrollTop<=0) this.ID.scrollTop+=this.ClientScroll; this.ID.scrollTop-=this.Step;}
  break;
  case 2:
  this.CTL+=this.Step;
  if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollLeft+=this.ScrollStep+this.Step-this.CTL; this.Pause(); return;}
  else{if(this.ID.scrollLeft>=this.ClientScroll) this.ID.scrollLeft-=this.ClientScroll; this.ID.scrollLeft+=this.Step;}
  break;
  case 3:
  this.CTL+=this.Step;
  if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollLeft-=this.ScrollStep+this.Step-this.CTL; this.Pause(); return;}
  else{if(this.ID.scrollLeft<=0) this.ID.scrollLeft+=this.ClientScroll; this.ID.scrollLeft-=this.Step;}
  break;
  }
  }
  </script>
  </body>
  </html>
  <br><br><hr>

以上这篇JS实用的带停顿的逐行文本循环滚动效果实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery学习4 浏览器的事件模型
Feb 07 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 Javascript
如何使用Jquery获取Form表单中被选中的radio值
Aug 09 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
探讨JavaScript中的Rest参数和参数默认值
Jul 29 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
May 05 Javascript
JS代码实现table数据分页效果
May 26 Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 Javascript
JavaScript实现百度搜索框效果
Mar 26 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
Jul 23 Javascript
VUE项目中加载已保存的笔记实例方法
Sep 14 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 #Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 #Javascript
jQuery实现ToolTip元素定位显示功能示例
Nov 23 #Javascript
详解jQuery的Cookie插件
Nov 23 #Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 #Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 #Javascript
解析jQueryEasyUI的使用
Nov 22 #Javascript
You might like
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
也说JavaScript中String类的replace函数
2011/09/22 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
处理Python中的URLError异常的方法
2015/04/30 Python
使用django实现一个代码发布系统
2019/07/18 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
厂长岗位职责
2014/02/19 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
党员思想汇报材料
2014/12/19 职场文书
违纪检讨书范文
2015/01/27 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS