广 告 位 置 |
|
|
 |
站 内 搜 索 |
|
|
 |
|
|
|
|
教你用Javascript制作连续滚动的字幕
来源:盛绿设计 等级:默认等级
发布于2006-10-17 08:58 被读49次 【字体:大 中 小】
|
|
<!-- 要实现此效果需要 1 个步骤: -->
<!-- 第 1 步: --> <!-- 把下面的代码加到<BODY></BODY>区域中: -->
<div id="marquees"> <!-- 这些是字幕的内容,你可以任意定义 --> <a href="#">链接1</a> <br> <a href="#">链接2</a> <br> <a href="#">链接3</a> <br> <a href="#">链接4</a> <br> <!-- 字幕内容结束 --> </div> <!-- 以下是javascript代码 --> <script language="javascript"> <!-- marqueesHeight=200; //内容区高度 stopscroll=false; //这个变量控制是否停止滚动 with(marquees){ noWrap=true; //这句表内容区不自动换行 style.width=0; //于是我们可以将它的宽度设为0,因为它会被撑大 style.height=marqueesHeight; style.overflowY="hidden"; //滚动条不可见 onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动 onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动 } //这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面: document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>'); function init(){ //初始化滚动内容 //多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度: while(templayer.offsetHeight<marqueesHeight){ templayer.innerHTML+=marquees.innerHTML; } //把"templayer"的内容的“两倍”复制回原内容区: marquees.innerHTML=templayer.innerHTML+templayer.innerHTML; //设置连续超时,调用"scrollUp()"函数驱动滚动条: setInterval("scrollUp()",20); } document.body.onload=init; preTop=0; //这个变量用于判断滚动条是否已经到了尽头 function scrollUp(){ //滚动条的驱动函数 if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动 preTop=marquees.scrollTop; //记录滚动前的滚动条位置 marquees.scrollTop+=1; //滚动条向下移动一个像素 //如果滚动条不动了,则向上滚动到和当前画面一样的位置 //当然不仅如此,同样还要向下滚动一个像素(+1): if(preTop==marquees.scrollTop){ marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1; } } --> </script>
|
相关专题:暂无相关专题
上一篇:多色彩特效字代码生成器 下一篇:网页制作常见105个问题解答
|
共有评论 0 条 网友评分 查看全部
|
|
|