爱东东

VS.NET,IT,个人,个人网站 爱东东 http://www.idongdong.net

 

自己写的飘窗JS代码

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名称,可以为""

posted on 2006-06-30 10:44  爱东东  阅读(1833)  评论(0编辑  收藏  举报

导航