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 相关文章推荐
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
js中获取事件对象的方法小结
Mar 13 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
Oct 29 Javascript
Jquery中val()表单取值赋值的实例代码
Aug 15 Javascript
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
js实现简单的购物车有图有代码
May 26 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 Javascript
使用JQuery实现智能表单验证功能
Mar 08 Javascript
Bootstrap Table使用方法详解
Aug 01 Javascript
关于Bootstrap按钮组件消除黄框的方法
May 19 Javascript
jquery.masonry瀑布流效果
May 25 jQuery
使用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
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP速成大法
2015/01/30 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
深入浅出php socket编程
2015/05/13 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
JSON无限折叠菜单编写实例
2013/12/16 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
python3 enum模块的应用实例详解
2019/08/12 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
戴森英国官网:Dyson英国
2019/05/07 全球购物
中软国际Java程序员笔试题
2014/07/19 面试题
初任培训自我鉴定
2013/10/07 职场文书
简历里的自我评价
2014/01/31 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
教师个人考察材料
2014/12/16 职场文书
党员争先创优承诺书
2015/01/20 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
股权投资协议书
2016/03/23 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript