联系站长 加入收藏 设为首页 繁體中文 RSS
  首页 | 生活百科 | 电脑网络 | 高手学堂 | 语录名言 | 读书文学 | 极品软件 | 奇趣图片 | 站长微博  
 您的位置: 精品百字节网 >> 电脑网络 >> 网络编程 >> 精品代码 >> 正文 当前没有通告!
   □  带停顿的单行文字滚动代码    3星级
带停顿的单行文字滚动代码
[ 作者:作者不详     来源:互连网     点击数:     更新时间:2009-08-03     文章录入:Admin
【字体:
[内容提要]
网络上转过来的-带停顿的单行文字滚动代码的实现,留做备用。感谢原作者的辛苦劳动。

Html

<div id="marqueeNews">
<div id="marqueeOneNews">
<href="1.html" target="_blank">第一条a><br />
<href="2.html" target="_blank">第二条a><br />
div>
div>

 用在页面内JS,跟在上面html后面即可
 

var objgDiv = new Marquee(); //创建实例
objgDiv.parentDiv ="marqueeNews"; //指定滚动父级包含层
objgDiv.mainDiv = "marqueeOneNews"; //指定滚动层
objgDiv.speed = 20; //滚动速度 单位是毫秒 1000=1秒
objgDiv.direction = "up"; //滚动方向"left":向左"right":向右"up":向上"down":向下
objgDiv.pauseDistance = 14; //暂停距离,每隔多少距离暂停滚动
objgDiv.pauseTime = 150; //暂停时间 单位:毫秒
objgDiv.startStatus =0; //初始状态,默认为0:显示滚动内容;1:初始状态为空白;
objgDiv.parentdivWidth=400; //显示的宽度
objgDiv.parentdivHeight=14; //显示的高度
objgDiv.start();
objgDiv=null;
以下为外部调用代码:Scrolldiv.js
/*
文件名 ScrollDiv.js
用途   无缝滚动指定内容
版本   2.0.2
兼容   IE6.0 Firefox2.0
作者   songguowei
最后修改 2006/11/03
*/
//公共变量
var PInstanceCreatedNums=0;  //创建的实例数量
var PInstanceMaxCreateNums=100;  //考虑到效率问题,页面实例限制为100,可以根据实际硬件配置进行修改
//创建[Marquee]对象
function Marquee()
{
 var mStoptime=0;
 var offsetcount=0;
 var thisObj=this;
 var speed=0;   //移动速度
 var parentdiv ="";  //指定滚动父级包含层
 var maindiv = "";  //指定滚动层
 var copydiv = "";  //空层,必要
 var speed = 0;   //滚动速度 单位是毫秒 1000=1秒
 var direction = "";  //滚动的方向 "left":向左 "right":向右 "up":向上 "down":向下
 var pauseDistance = 0; //暂停距离,每隔多少距离暂停滚动
 var pauseTime = 0;  //暂停时间 单位:毫秒
 var startStatus =0;  //初始状态,默认为0,可不设置;0:显示滚动内容;1:初始状态为空白;
 var parentdivWidth=0; //显示宽度
 var parentdivHeight=0;  //显示高度
 PInstanceCreatedNums++;
 //方法 start() 作用:初始化
 thisObj.start=function()
 {
  try
  {
   if(PInstanceCreatedNums>=PInstanceMaxCreateNums)
   {
    alert("创建实例超过最大限制!");
    return false;
   }
   with(thisObj)
   {
    parentdiv=document.getElementById(parentDiv);
    maindiv=document.getElementById(mainDiv);
    divCopy();
    if(parentdiv.style)
    {
     parentdiv.style.overflow='hidden';
     parentdiv.style.width=parentdivWidth;
     parentdiv.style.height=parentdivHeight;
    }
    //鼠标移动事件的调用方法
    parentdiv.onmouseover=Pause;
    parentdiv.onmouseout=Begin;
    //鼠标移动事件的调用方法
    switch(direction)
    {
    case "up":
     maindiv.style.display='block';
     copydiv.style.display='block';
     parentdiv.scrollTop=0;
     break;
    case "down":
     maindiv.style.display='block';
     copydiv.style.display='block';
     parentdiv.scrollTop=maindiv.offsetHeight*2-parentdivHeight;
     break;
    case "left":
     parentdiv.style.whiteSpace='nowrap';
     maindiv.style.display='inline';
     copydiv.style.display='inline';
     parentdiv.scrollLeft=0;
     break;
    case "right":
     parentdiv.style.whiteSpace='nowrap';
     maindiv.style.display='inline';
     copydiv.style.display='inline';
     parentdiv.scrollLeft=maindiv.offsetWidth*2-parentdivWidth;
     break;    
    }
    offsetcount=pauseDistance;
    Begin();
   }
  }
  catch(e)
  {
   alert('发生错误!错误内容:['+e.message+']');
  }
 }
 //方法 divCopy() 作用:复制层内容
 thisObj.divCopy=function()
 {
  with(thisObj)
  {
   //动态创建用于复制的 copydiv
   copydiv=document.createElement("div");
   copydiv.id='copy'+maindiv.id;
   parentdiv.appendChild(copydiv);   
   copydiv.innerHTML=maindiv.innerHTML;
  }
 }
 //方法 doPause() 作用:滚动间隙暂停函数
 thisObj.doPause=function()
 {
  mStoptime+=1;
  if(mStoptime==thisObj.pauseTime)
  {
   mStoptime=0;
   offsetcount=0;
   return true;
  }
  return false;
 }
 //方法 iMarquee() 作用:无缝滚动控制
 thisObj.iMarquee=function()
 {
  with(thisObj)
  { 
   switch(direction)
   {
   case "up":
    if(offsetcount>=pauseDistance)
    {
     if(parentdiv.scrollTop>=copydiv.offsetTop)
     {
      if(doPause())
      {
       parentdiv.scrollTop-=maindiv.offsetHeight;
      }
     }
     else
     {
      doPause();
     }
    }
    else
    {
     parentdiv.scrollTop++;
     offsetcount++;
    }   
    break;
   case "down":
    if(offsetcount>=pauseDistance)
    {
     if(parentdiv.scrollTop<=maindiv.offsetHeight-parentdivHeight)
     {
      if(doPause())
      {
       parentdiv.scrollTop=maindiv.offsetHeight*2-parentdivHeight;
      }
     }
     else
     {
      doPause();
     }
    }
    else
    {
     parentdiv.scrollTop--;
     offsetcount++;
    }   
    break;
   case "left":
    if(offsetcount>=pauseDistance)
    {
      
     if(parentdiv.scrollLeft>=copydiv.offsetWidth)
     {
      if(doPause())
      {
       parentdiv.scrollLeft-=maindiv.offsetWidth;
      }
      }
      else
      {
      doPause();
      }
     }
    else
    {
     parentdiv.scrollLeft++;
     offsetcount++;
    }
    break;
   case "right":
    if(offsetcount>=pauseDistance)
    {
     if(parentdiv.scrollLeft<=0)
     {
      if(doPause())
      {
       parentdiv.scrollLeft+=maindiv.offsetWidth;
      }     
      }
      else
      {
      doPause();
      }
     }
    else
    {
     parentdiv.scrollLeft--;
     offsetcount++;
    }   
    break;
   }
  }
 }
 thisObj.Begin=function() //方法:Begin() 作用:开始滚动
 {
  thisObj.timer=setInterval(thisObj.iMarquee,thisObj.speed);
 }
 thisObj.Pause=function() //方法 Pause() 作用:暂停滚动
 {
  clearInterval(thisObj.timer);
 }
}
上一篇文章:DIV布局中的图片无缝滚动代码 下一篇文章:没有了
发表评论 □告诉好友 □打印此文 □收藏此页 □关闭窗口 □返回顶部
 最新热点文章
 精品医院类网站网址大收集
 如何删除windows 2003或xp系统隐藏的...
 DedeCms管理员后台登陆经常自动退出的...
 知道IP如何用dos命令查出电脑名称
 WORD出错老是要求以安全模式打开文件...
 如何设置首页不显示页眉页脚?
 如何利用inurl命令查询网站外链及栏目...
 
 最新推荐文章
 精品医院类网站网址大收集
 如何利用宽带路由器控制局域网内电脑上...
 CSS圆角代码的实现方法
 带停顿的单行文字滚动代码
 实用的新网站免费收录提交地址精选
 Left join , Right Join, Inner Join用...
 趣话淘宝网衍生的多种新型职业
 
 最新图文
  ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
关于本站 | 免责申明 | 网站地图 | 联系站长 | 友情链接 | 与我同在
冀ICP备06032589号【虚拟化精英群虚拟化精英群续
  Copyright© 2006-2009 100byte.Com All Rights Reserved
网站声明:本网站是公益性质网站,部分内容来源于网络,如有侵犯您权利的地方,请与精品百字节站长联系,尽快修正.
Powered By CreateLive CMS 本站法律顾问:(冀港)武镇海律师
点击这里给我发消息