网上有很多这样的代码了。之前自己也找过许多,但用着不太习惯。
自己写了个漂浮广告的代码,支持根据参数,可以设置左或右显示。
js的代码主要是控制漂浮内容的显示位置。支持fixed属性的将采用css的fixed,对于ie6下不支持fixed的用js动态设置位置。
应用这段代码,需要了解漂浮的原理。所以请注意demo中浮动内容上的样式设置。
Code
1var LB = {
2 version:"0.1",
3 isIE6 :$.browser.msie && $.browser.version=="6.0",
4 pageMode:(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
5};
6
7
8
9
10var SDA = {};
11
12SDA.Float = function(floatId,xPx,yPx,isLeft) {
13 var curFloat = this;
14 var floatObj = $("#"+floatId)
15
16 var locCss={};
17
18 $(floatObj).find(".close").click(function(){
19 $(floatObj).hide();
20 });
21
22 this.supportFixed=function(){
23 locCss.bottom= yPx+"px";
24 $(floatObj).css(locCss);
25 $(floatObj).css("position","fixed");
26 }
27
28 this.supportIE6 = function(){
29 var topHeight= LB.pageMode.scrollTop + LB.pageMode.clientHeight - document.getElementById(floatId).offsetHeight- yPx;
30 locCss.top = topHeight+"px";
31 $(floatObj).css(locCss);
32 setTimeout(function(){
33 curFloat.supportIE6();
34 },80);
35 }
36
37 if(isLeft){
38 locCss.left = xPx+"px";
39 }else{
40 locCss.right= xPx+"px";
41 }
42
43 if(LB.isIE6){
44 curFloat.supportIE6();
45 }else{
46 curFloat.supportFixed();
47 }
48
49}
50
51$.Float = function(floatId,xPx,yPx,isLeft){
52 new SDA.Float(floatId,xPx,yPx,isLeft);
53}
代码不复杂,感兴趣的同学可以看下demo就知道用了。
实例:Float.rar