<!--隨機漂浮廣告開始-->
<div id="float" style="position:absolute; z-index:3;(我建議大家把這里設為100,這樣浮動圖就不會被遮住了) left: 512px; width: 83px; top: 9px; height: 53px;">
<img src="piaofu.gif" width="100" height="50"> </div>
<script type="text/javascript">
<!--隨機漂浮廣告 -->
var xPos=0,yPos=0;//x,y軸坐標
var xon=0;//圖片在x軸移動方向
var yon=0;//圖片在y軸移動方向
var step=1; //移動距離
var img=document.getElementByIdx_x("float");//圖片層
function floatP()
{
var width=document.body.clientWidth;//瀏覽器寬度
var height=document.body.clientHeight;//瀏覽器高度
var Hoffset=img.offsetHeight;//圖片高度
var Woffset=img.offsetWidth;//圖片寬度
img.style.left=xPos+document.body.scrollLeft;//圖片距離瀏覽器左側位置
img.style.top=yPos+document.body.scrollTop;//圖片距離瀏覽器頂端位置
if(yon==0){
yPos=yPos+step;//圖片在y軸方向上下移動
}else{
yPos=yPos-step;
}
if(yPos<0){//飄到頂端,沿y軸向下移動
yon=0;
yPos=0;
}
if(yPos>=(height-Hoffset)){//飄到低端,沿y軸向上移動
yon=1;
yPos=(height-Hoffset);
}
if(xon==0){//x軸向右移動
xPos=xPos+step;
}else{
xPos=xPos-step;//x軸向左移動
}
if(xPos<0){//飄到左側時沿x軸向右移動
xon=0;
xPos=0;
}
if(xPos>=(width-Woffset)){//飄到右側時沿x軸向左移動
xon=1;
xPos=(width-Woffset);
}
setTimeout("floatP()",30);//定時調用。
}
window.onload=floatP();
</script>
<script>
var x = 50,y = 60 //浮動層的初始位置,分別對應層的初始X坐標和Y坐標
var xin = true, yin = true //判斷層的X坐標和Y坐標是否在在控制范圍之內,xin為真是層向右移動,否則向左;yin為真是層向下移動,否則向上
var step = 1 //層移動的步長,值越大移動速度越快
var delay = 10 //層移動的時間間隔,單位為毫秒,值越小移動速度越快
var obj=document.getElementByIdx_x("float") //捕獲id為ad的層作為漂浮目標
function floatAD() {
var L=T=0 //層移動范圍的左邊界(L)和上邊界(T)坐標
var R= document.body.clientWidth-obj.offsetWidth //層移動的右邊界
var B = document.body.clientHeight-obj.offsetHeight //層移動的下邊界
obj.style.left = x + document.body.scrollLeft //更新層的X坐標,實現X軸方向上的運動;document.body.scrollLeft為文檔區域的滾動條向右拉的距離,以保證在滾動條右拉時層仍在可見范圍內
obj.style.top = y + document.body.scrollTop //更新層的Y坐標,實現Y軸方向上的運動;document.body.scrollTop為文檔區域的滾動條向下拉的距離,以保證在滾動條下拉時層仍在可見范圍內
x = x + step*(xin?1:-1) //通過判斷層的范圍決定層在X軸上的運動方向
if (x < L) { xin = true; x = L} //層超出左邊界時的處理
if (x > R){ xin = false; x = R} //層超出右邊界時的處理
y = y + step*(yin?1:-1) //通過判斷層的范圍決定層在Y軸上的運動方向
if (y < T) { yin = true; y = T } //層超出上邊界時的處理
if (y > B) { yin = false; y = B } //層超出下邊界時的處理
}
var itl= setInterval("floatAD()", delay) //每delay秒執行一次floatAD函數
obj.onmouseover=function(){clearInterval(itl)} //層在鼠標移上時清除上面的間隔事件,實現層在的鼠標移上時停止運動的效果
obj.onmouseout=function(){itl=setInterval("floatAD()", delay)} //層在鼠標移開時開始間隔事件,實現層在的鼠標移開時繼續運動的效果
</script>
注意:
在網頁中插入Flash和浮動廣告,你會發現在浮動廣告浮到Flash處時會在下面,
我們如何解決這個問題呢,
其它很簡單
在flash代碼的位置加入下面語句就可以了
<param name="wmode" value="opaque">
例:
如果下面是flash所在位置的代碼:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="780" height="165">
<param name="movie" value="banner1.swf">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="opaque"><!--主要是這句-->
<embed src="banner1.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="780" height="165"></embed>
</object>