师姐的跑马灯公告
2011-05-05 10:54 沐海 阅读(344) 评论(0) 编辑 收藏 举报View Code
1 <div id="marquees">
2 <!-- 这些是字幕的内容,你可以任意定义 -->
3 <label runat="server" id="LMessage">
4 </label>
5 <!-- 字幕内容结束 -->
6 </div>
7
8 <script language="javascript" type="text/javascript">
9 marqueesWidth = 250; //内容区宽度度
10 stopscroll = false; //这个变量控制是否停止滚动
11
12 with (marquees) {//把一个DIV的DOM对象拿过来直接用。WITH方法,使得,其对象的属性都可以直接使用
13 noWrap = true; //这句表内容区不自动换行
14 style.width = marqueesWidth; //于是我们可以将它的宽度设为0,因为它会被撑大
15 style.height = 'auto';
16
17 style.overflowX = "hidden"; //滚动条不可见
18 onmouseover = new Function("stopscroll=true"); //鼠标经过,停止滚动
19 onmouseout = new Function("stopscroll=false"); //鼠标离开,开始滚动
20 }
21 //这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
22 document.write('<div id="templayer"style="position:absolute;z-index:1;visibility:hidden"></div>');
23
24 function init() { //初始化滚动内容
25 while (templayer.offsetWidth < marqueesWidth) {
26 templayer.innerHTML += marquees.innerHTML;
27 } //把"templayer"的内容的“两倍”复制回原内容区:
28 marquees.innerHTML = templayer.innerHTML + templayer.innerHTML;
29 //设置连续超时,调用"scrollUp()"函数驱动滚动条:
30 setInterval("scrollUp()", 20);
31 }//setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
32 //document.body.onload = init;
33 jQuery(document).ready(function() {
34 init();
35 });
36
37 preTop = 0; //这个变量用于判断滚动条是否已经到了尽头
38 function scrollUp() { //滚动条的驱动函数
39 if (stopscroll == true) return; //如果变量"stopscroll"为真,则停止滚动
40 preTop = marquees.scrollLeft;
41 marquees.scrollLeft += 1;
42 //如果滚动条不动了,则向上滚动到和当前画面一样的位置
43 //当然不仅如此,同样还要向下滚动一个像素(+1):
44 if (preTop == marquees.scrollLeft) {
45 marquees.scrollLeft = templayer.offsetHeight - marqueesWidth + 1;
46 }
47 } //scrollLeft(包括其他三个)常与定时器一起使用,实现位置移动效果,如滚动。
48 </script>
2 <!-- 这些是字幕的内容,你可以任意定义 -->
3 <label runat="server" id="LMessage">
4 </label>
5 <!-- 字幕内容结束 -->
6 </div>
7
8 <script language="javascript" type="text/javascript">
9 marqueesWidth = 250; //内容区宽度度
10 stopscroll = false; //这个变量控制是否停止滚动
11
12 with (marquees) {//把一个DIV的DOM对象拿过来直接用。WITH方法,使得,其对象的属性都可以直接使用
13 noWrap = true; //这句表内容区不自动换行
14 style.width = marqueesWidth; //于是我们可以将它的宽度设为0,因为它会被撑大
15 style.height = 'auto';
16
17 style.overflowX = "hidden"; //滚动条不可见
18 onmouseover = new Function("stopscroll=true"); //鼠标经过,停止滚动
19 onmouseout = new Function("stopscroll=false"); //鼠标离开,开始滚动
20 }
21 //这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
22 document.write('<div id="templayer"style="position:absolute;z-index:1;visibility:hidden"></div>');
23
24 function init() { //初始化滚动内容
25 while (templayer.offsetWidth < marqueesWidth) {
26 templayer.innerHTML += marquees.innerHTML;
27 } //把"templayer"的内容的“两倍”复制回原内容区:
28 marquees.innerHTML = templayer.innerHTML + templayer.innerHTML;
29 //设置连续超时,调用"scrollUp()"函数驱动滚动条:
30 setInterval("scrollUp()", 20);
31 }//setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
32 //document.body.onload = init;
33 jQuery(document).ready(function() {
34 init();
35 });
36
37 preTop = 0; //这个变量用于判断滚动条是否已经到了尽头
38 function scrollUp() { //滚动条的驱动函数
39 if (stopscroll == true) return; //如果变量"stopscroll"为真,则停止滚动
40 preTop = marquees.scrollLeft;
41 marquees.scrollLeft += 1;
42 //如果滚动条不动了,则向上滚动到和当前画面一样的位置
43 //当然不仅如此,同样还要向下滚动一个像素(+1):
44 if (preTop == marquees.scrollLeft) {
45 marquees.scrollLeft = templayer.offsetHeight - marqueesWidth + 1;
46 }
47 } //scrollLeft(包括其他三个)常与定时器一起使用,实现位置移动效果,如滚动。
48 </script>
本人声明:
个人主页:沐海(http://www.cnblogs.com/mahaisong)
以上文章都是经过本人设计实践和阅读其他文档得出。如果需要探讨或指教可以留言或加我QQ!欢迎交流!