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 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
javascript右下角弹层及自动隐藏(自己编写)
Nov 20 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
Aug 10 Javascript
基于JavaScript实现定时跳转到指定页面
Jan 01 Javascript
详解js中Json的语法与格式
Nov 22 Javascript
Webpack实战加载SVG的方法
Dec 26 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
Mar 01 Javascript
深入浅析vue-cli@3.0 使用及配置说明
May 08 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
Jun 04 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 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
用PHP制作静态网站的模板框架(二)
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
JavaScript高级程序设计
2006/12/29 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
VUE重点问题总结
2018/03/19 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
vue如何截取字符串
2019/05/06 Javascript
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python帮你识破双11的套路
2019/11/11 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
当当网软件测试笔试题
2015/11/24 面试题
大学新学期计划书
2014/04/28 职场文书
授权委托书公证
2014/09/14 职场文书
学生会个人总结范文
2015/02/15 职场文书
月考总结与反思
2015/10/22 职场文书
初三化学教学反思
2016/02/22 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers