|
藍森林 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頁面寬高限制。 |
|