随笔-46  评论-54  文章-0  trackbacks-0
浮动广告代码很多了,不介绍了。
但是对于flash或者下拉框,是容易被遮挡的。

1、flash的解决:
    <!--1.设置FLASH为底层-->
    <div style="z-index:-1">
    <!--2.必须把FLASH设置为透明-->
    <param name="wmode" value="transparent">

2、下拉框的解决:
    因为下拉框的index是最高的,怎么调整都没有用。
    所以,浮动层里面要增加一个iframe,里面再src近来一个新页面,这个页面就是广告页面。
   
 1 <!-- 浮云 -->
 2 <div id="fuyun" style="Z-INDEX: 99999999999; LEFT: 4px; WIDTH: 100px; POSITION: absolute; TOP: 372px; HEIGHT: 100px"> 
 3 <align="center">
 4 <iframe height="80" width="80" frameborder="0" scrolling="no" hspace="0" vspace="0" style="padding:0; margin:0" src="ad_kfc/fy_kfc.html">
 5 </iframe>
 6 </p>
 7 </div>
 8 <script language="JavaScript" src="js/fy.js"></script>
 9 <SCRIPT LANGUAGE="JavaScript">
10 <!--
11     start();
12 //-->
13 </SCRIPT>

其中这个src页面代码如下:
1 <html>
2 <head>
3 <title> fy kfc </title>
4 </head>
5 <body style="padding:0; margin:0">
6 <href="/public/enterprise.do?id=29838" target="_blank"><img src="kfc.gif" width="80" height="80" border=0></a>
7 </body>
8 </html>
9 

还是把浮动窗口的js代码贴上来,原来网上找的代码,参数名字过于简单,怕多个js一起调用时会重名。自己改了一下的

 1 var fuyun = document.getElementById("fuyun");
 2 var fy_xPos = 20;
 3 var fy_yPos = document.body.clientHeight;
 4 var fy_step = 1;
 5 var fy_delay = 30
 6 var fy_height = 0;
 7 var fy_Hoffset = 0;
 8 var fy_Woffset = 0;
 9 var fy_yon = 0;
10 var fy_xon = 0;
11 var fy_pause = true;
12 var interval;
13 fuyun.style.top = fy_yPos;
14 function changePos() {
15 fy_width = document.body.clientWidth;
16 fy_height = document.body.clientHeight;
17 fy_Hoffset = fuyun.offsetHeight;
18 fy_Woffset = fuyun.offsetWidth;
19 fuyun.style.left = fy_xPos + document.body.scrollLeft;
20 fuyun.style.top = fy_yPos + document.body.scrollTop;
21 if (fy_yon) {
22 fy_yPos = fy_yPos + fy_step;
23 }
24 else {
25 fy_yPos = fy_yPos - fy_step;
26 }
27 if (fy_yPos < 0) {
28 fy_yon = 1;
29 fy_yPos = 0;
30 }
31 if (fy_yPos >= (fy_height - fy_Hoffset)) {
32 fy_yon = 0;
33 fy_yPos = (fy_height - fy_Hoffset);
34 }
35 if (fy_xon) {
36 fy_xPos = fy_xPos + fy_step;
37 }
38 else {
39 fy_xPos = fy_xPos - fy_step;
40 }
41 if (fy_xPos < 0) {
42 fy_xon = 1;
43 fy_xPos = 0;
44 }
45 if (fy_xPos >= (fy_width - fy_Woffset)) {
46 fy_xon = 0;
47 fy_xPos = (fy_width - fy_Woffset);
48 }
49 }
50 function start() {
51 fuyun.visibility = "visible";
52 interval = setInterval('changePos()', fy_delay);
53 
54 }
55 function fy_pause_resume() {
56 if(fy_pause) {
57 clearInterval(interval);
58 fy_pause = false;
59 }
60 else {
61 interval = setInterval('changePos()',fy_delay);
62 fy_pause = true;
63 }
64 }


不提倡使用浮动广告,现在多半都是悬浮广告了。只是客户指定要,而且还要不被遮挡,在多人的帮助下,终于解决了这个问题。

大家可以到 http://www.jobhn.cn 网站上看看实际的效果。
posted on 2007-02-14 09:55 rox 阅读(547) 评论(2)  编辑  收藏 所属分类: AJAX

评论:
# re: 浮动广告的一些相关问题的解决! 2007-03-20 10:42 | yimingliang
ding ni  回复  更多评论
  
# re: 浮动广告的一些相关问题的解决! 2007-08-06 19:51 | rox
 1//隐藏下拉框和flash,以解决下拉框优先度太高的问题,  
 2function _displaySelect(){
 3    var selects = document.getElementsByTagName("select");//整个页面的所有下拉框
 4    for(var i=0; i<selects.length; i++{
 5        if(selects[i].style.visibility) {
 6            selects[i].style.visibility = "";
 7        }
else{
 8            selects[i].style.visibility = "hidden";
 9        }

10    }

11    var objects = document.getElementsByTagName("object");//整个页面的所有object(flash)
12    for(var i=0; i<objects.length; i++{
13        if(objects[i].style.visibility) {
14            objects[i].style.visibility = "";
15        }
else{
16            objects[i].style.visibility = "hidden";
17        }

18    }

19}
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: