在网上找了好多,不是不能滚动,就是写的比较复杂,下面这个感觉还不错
以下为js代码 ,保存名称与调用名称相同 ,此处采用ad.js:
1// 这是关闭飘浮广告的宽度,请根据你的广告内容而定
2var hbcms_ad_width = 100;
3
4// 这是关闭飘浮广告的代码,可以换成图片,点击即可关闭
5var hbcms_close_str = '<div onClick="closeBanner();" style="color:gray;font-size:10pt;cursor:hand;text-align:center;width:100%;background-color: #efefef;line-height:200%">关闭</div>';
6
7// 设置左边的广告代码,请自己更换图片地址,或换成flash,或换成纯文字
8// 如果不希望显示左边的广告,可设置为 = '';
9
10//src为flash路径
11var hbcms_left_ad = '<embed src="c.swf" width="100" height="300" quality="high" wmode="window"></embed>' + hbcms_close_str;
12
13
14// 设置右边的广告代码,如果要和左边的广告一致,可设为 = hbcms_left_ad;
15// 如果不希望显示右边的广告,可设置为 = '';
16var hbcms_right_ad = '<embed src="c.swf" width="100" height="300" quality="high" wmode="window"></embed>' + hbcms_close_str;
17
18
19var delta=0.8;
20var collection;
21var closeB=false;
22
23function floaters() {
24this.items = [];
25this.addItem = function(id,x,y,content)
26 {
27 document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:'+hbcms_ad_width+'px; height:300px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');
28
29 var newItem = {};
30 newItem.object = document.getElementById(id);
31 newItem.x = x;
32 newItem.y = y;
33
34 this.items[this.items.length] = newItem;
35 }
36this.play = function()
37 {
38 collection = this.items
39 setInterval('play()',30);
40 }
41}
42
43
44function play()
45{
46 if(screen.width<=800 || closeB)
47 {
48 for(var i=0;i<collection.length;i++)
49 {
50 collection[i].object.style.display = 'none';
51 }
52 return;
53 }
54 for(var i=0;i<collection.length;i++)
55 {
56 var followObj = collection[i].object;
57 var followObj_x = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
58 var followObj_y = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);
59
60 if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
61 var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
62 dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
63 followObj.style.left=followObj.offsetLeft+dx;
64 }
65
66 if(followObj.offsetTop!=(document.documentElement.scrollTop+followObj_y)) {
67 var dy=(document.documentElement.scrollTop+followObj_y-followObj.offsetTop)*delta;
68 dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
69 followObj.style.top=followObj.offsetTop+dy;
70 }
71 followObj.style.display = '';
72 }
73}
74function closeBanner()
75{
76 closeB=true;
77 return;
78}
79
80
81var theFloaters = new floaters();
82
83theFloaters.addItem('followDiv1','document.body.clientWidth-106',hbcms_ad_width,hbcms_right_ad);
84//右面广告属性,分别是id,x,y,content
85theFloaters.addItem('followDiv2',6,hbcms_ad_width,hbcms_left_ad);
86//左面广告属性,分别是id,x,y,content
87theFloaters.play();
88
89 以下为页面代码,可只复制"<script language=javascript src="ad.js"></script >"到页面的body中.
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
5<title>js 实现页面两边广告, 可关闭对联广告 随滚动条滚动 符合w3c标准</title>
6 <style type="text/css">
7 </style>
8</head>
9
10<body>
11<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
12
13<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
14
15<br><br><br><br><br><br><br><br><br><br><br>
16<script language=javascript src="ac.js"></script ><!--调用js-->
17</body>
18</html>
19 转自http://hi.baidu.com/tianxin2580/blog/item/7ed2079b4c19dcb0c8eaf46a.html
posted on 2009-07-02 16:00
JasonChou 阅读(5633)
评论(4) 编辑 收藏 所属分类:
html