自己寫的飄窗JS代碼
來源:互聯網
上載者:User
function CChip(pDivName,pImgUrl,pWidth,pHeigth,pInterval,pActionUrl,pAction,pIsClickAction){
this.DivName=pDivName;
this.ImgUrl=pImgUrl.toLowerCase();
this.Width=pWidth;
this.Heigth=pHeigth;
this.Interval=pInterval;
this.Action=pAction;
this.ActionUrl=pActionUrl;
this.IsClickAction=pIsClickAction;
this.Speed=2;
var othis=this;
var x=0,y=0,dx=this.Speed,dy=this.Speed;
var timehandler;
var imgurlsrc=this.ImgUrl;
if(imgurlsrc.substring(imgurlsrc.length - 4)==".swf"){
if(this.IsClickAction==true){
document.getElementById(this.DivName).innerHTML="<a href=\""+this.ActionUrl+"\" onclick=\""+this.Action+"\" target=_blank><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\""+this.Width+"\" height=\""+this.Heigth+"\"> <param name=movie value=\""+this.ImgUrl+"\"> <param name=quality value=high> <param name=\"wmode\" value=\"transparent\"></object></a>";
}else{
document.getElementById(this.DivName).innerHTML="<a href=\""+this.ActionUrl+"\" target=_blank><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\""+this.Width+"\" height=\""+this.Heigth+"\"> <param name=movie value=\""+this.ImgUrl+"\"> <param name=quality value=high> <param name=\"wmode\" value=\"transparent\"></object></a>";
}
}else{
if(this.IsClickAction==true){
document.getElementById(this.DivName).innerHTML="<a href=\""+this.ActionUrl+"\" onclick=\""+this.Action+"\" target=_blank><img src=\""+this.ImgUrl+"\" width="+this.Width+" height="+this.Heigth+"></img></a>";
}else{
document.getElementById(this.DivName).innerHTML="<a href=\""+this.ActionUrl+"\" target=_blank><img src=\""+this.ImgUrl+"\" width="+this.Width+" height="+this.Heigth+"></img></a>";
}
}
this.Move=function(){
x=x+dx;
y=y+dy;
if(x + this.Width > document.body.clientWidth+document.body.scrollLeft){
x=document.body.clientWidth + document.body.scrollLeft - this.Width - 10;
dx=-dx;
}
if(y + this.Heigth > document.body.clientHeight + document.body.scrollTop){
y=document.body.clientHeight+document.body.scrollTop - this.Heigth -10;
dy=-dy;
}
if(x < document.body.scrollLeft){
x=document.body.scrollLeft+10;
dx=-dx;
}
if(y < document.body.scrollTop){
y=document.body.scrollTop+10;
dy=-dy;
}
document.getElementById(this.DivName).style.zIndex=10;
document.getElementById(this.DivName).style.position="absolute";
document.getElementById(this.DivName).style.left=x;
document.getElementById(this.DivName).style.top=y;
document.getElementById(this.DivName).style.width=this.Width;
document.getElementById(this.DivName).style.height=this.Heigth;
}
this.Start=function(){
timehandler=window.setInterval(function(){othis.Move();},this.Interval);
}
this.Stop=function(){
window.clearInterval(timehandler);
}
document.getElementById(this.DivName).onmouseover=function(){othis.Stop();};
document.getElementById(this.DivName).onmouseout=function(){othis.Start();};
if(this.IsClickAction==false){
window.setTimeout(this.Action,1);
}
othis.Start();
}
---------------------------------------------
使用時只需要 var c=new CChip(pDivName,pImgUrl,pWidth,pHeigth,pInterval,pActionUrl,pAction,pIsClickAction);即可
pDivName:=div名稱,飄窗需要附著於一個div
pImgUrl:=飄窗對應的圖片url,可以是圖片也可以是swf
pWidth,pHeigth:=飄窗尺寸
pInterval:=飄窗移動處理時間間隔(毫秒),設為50好了
pActionUrl:=點擊飄窗時的彈出的連結,可以為"",對於圖片可以,對於swf需要swf自己處理了
pIsClickAction:=是否在點擊飄窗時執行 pAction 中的代碼(應該為js的function名稱),true表示點擊時執行,false,則為展現飄窗時執行
pAction:=點擊飄窗時需要做的動作,對應js的function名稱,可以為""