藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年8月25日 8:28

求教如何修改浮動層使其居右對齊

從網上找到的這段代碼,應該是網友從某網站摳出來的。
我想使用這個效果,但是這個層定義的位置是距左距離。而我想使其適應任何大小的窗口居右顯示,可以實現麼?

其間試過把docWidth = 798; 改為docWidth = document.body.clientWidth - 相應數值;

可惜頁面變寬並出現了沒必要的橫向滾動條,若硬性去掉橫向滾動條,而當我需要時候又沒有了∼頭大。

先謝謝!

===================================

1、建一個JS文件。並在要插入的頁子裡調用它。JS內容如下:

var Xpos = 0;
var Ypos = 0;
var Ygravity = 0.9;
var scrollPos = 0;
var oldScrollPos = 0;


function FloatMenu() {
docWidth = 798; // update document width
docHeight = document.body.clientHeight; // update document height
oldScrollPos = scrollPos;
scrollPos = document.body.scrollTop; // update scrollbar position
if(scrollPos > 200) scrollPos = 180;

Xpos = docWidth;
Yboundary = scrollPos + 135;

if (floater.offsetTop < Yboundary - 10) // Object is behind boundary
Ypos += 3;

if (floater.offsetTop > Yboundary + 10) // Object is past boundary
Ypos -= 3;

Ypos *= Ygravity; // Slow object down

floater.style.pixelLeft = Xpos;
floater.style.pixelTop += Ypos; // Make object bounce
}

window.setInterval("FloatMenu()", 30); //

2、建一個層

<div id=floater>裡面可以是圖片也可以是表格 ! </div>


3、定位這個層


<STYLE>#floater {
POSITION: absolute; HEIGHT: 0px;
}

</STYLE>

修改浮動層使其居右對齊想,調整其水平坐標 var x = 630;//浮動廣告層固定於瀏覽器的x方向位置
[html]
<br>
<SCRIPT FOR=window EVENT=onload LANGUAGE="JavaScript">
initAd();//載入頁面後,調用函數initAd()
</SCRIPT>
<script language="JavaScript">
<!--
function initAd() {
document.all.AdLayer.style.posTop = -200;
//設置onLoad事件激發以後,廣告層相對於固定後的y方向位置
document.all.AdLayer.style.visibility = 'visible'//設置層為可見
MoveLayer('AdLayer');//調用函數MoveLayer()
}
function MoveLayer(layerName) {
var x = 630;//浮動廣告層固定於瀏覽器的x方向位置
var y = 300;//浮動廣告層固定於瀏覽器的y方向位置
var diff = (document.body.scrollTop + y - document.all.AdLayer.style.posTop)*.40;
var y = document.body.scrollTop + y - diff;
eval("document.all." + layerName + ".style.posTop = y");
eval("document.all." + layerName + ".style.posLeft = x");//移動廣告層
setTimeout("MoveLayer('AdLayer');", 20);//設置20毫秒後再調用函數MoveLayer()
}
//-->
</script>
<!--下面為一個ID為AdLayer的層(如ID名不為AdLayer,
上面MoveLayer()內的AdLayer也要作相應修改),包括一張帶鏈接的圖片-->
<div id=AdLayer style='position:absolute; width:61px; height:59px; z-index:20; visibility:hidden; left: 600px; top: 380px'>
  <a href="#"><img src='http://www.e-cn-e.com/java/4/photo/logo.gif' border="0" height="31" width="88"></a>
</div>

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
[/html]

謝謝樓上的!

不過像我貼的那個彈跳效果的可以實現麼?
如果不可以我會考慮你推薦的這個:)

最主要是我需要若干個頁面調用這個js,現在的方法是使用<div id="floater"><iframe src="b.htm" allowtransparency="true" frameborder="0"></iframe></div>,所以更新這個廣告只要修改b.htm就可以,且不受B頁面寬高限制。




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com