用js实现字幕滚动效果.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<div id="marquees"> <!-- 这些是字幕的内容,你可以任意定义 --> <a href="#">链接一</a> <a href="#">链接二</a> <a href="#">链接三</a>
<a href="#">链接四</a>
<!-- 字幕内容结束 -->
</div>
  <!-- 以下是java-script代码 -->
  <script language="javascript">
  <!--
    marqueesWidth=500; //内容区宽度度
    stopscroll=false; //这个变量控制是否停止滚动
    with(marquees){
    noWrap=true; //这句表内容区不自动换行
    style.width=marqueesWidth; //于是我们可以将它的宽度设为0,因为它会被撑大
    style.height=0;
    
    style.overflowX="hidden"; //滚动条不可见
    οnmοuseοver=new Function("stopscroll=true"); //鼠标经过,停止滚动
    οnmοuseοut=new Function("stopscroll=false"); //鼠标离开,开始滚动
    }
    //这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
    document.write('<div id="templayer"style="position:absolute;z-index:1;visibility:hidden"></div>');
    
    function init(){ //初始化滚动内容
    while(templayer.offsetWidth<marqueesWidth){
    templayer.innerHTML+=marquees.innerHTML;
    } //把"templayer"的内容的“两倍”复制回原内容区:
    marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
    //设置连续超时,调用"scrollUp()"函数驱动滚动条:
    setInterval("scrollUp()",20);
    }
    document.body.οnlοad=init;
    preTop=0; //这个变量用于判断滚动条是否已经到了尽头
    function scrollUp(){ //滚动条的驱动函数
    if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
    preTop=marquees.scrollLeft;
    marquees.scrollLeft+=1;
    //如果滚动条不动了,则向上滚动到和当前画面一样的位置
    //当然不仅如此,同样还要向下滚动一个像素(+1):
    if(preTop==marquees.scrollLeft){
    marquees.scrollLeft=templayer.offsetHeight-marqueesWidth+1;
    }
    }
  -->
  </script>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值