飘浮广告显示脚本类(VBS,JS双版)
点击次数:23 次 发布日期:2008-11-26 23:09:53 作者:源代码网
|
不说了,贴代码: [VBS脚本代码] 以下是代码片段: "/****************漂浮广告显示类**************************************************** "/* 作者:死在水中的鱼 "/* 脚本语言:VBS "/* 用法: "/* Set Adver1=New AdverClass "/* Adver1.ObjName="Adver1" "设置当前的对象名 [本身对象变量名] "/* Adver1.ImgType=1 "图片的类型 0=普通图片 1=Flash动画 "/* Adver1.ImageWidth=299 "图片的宽度 "/* Adver1.ImageHeight=87 "图片的高度 "/* ####以下方法显示广告图片(Flash) 对象.PrintHtml "图片地址","链接地址","提示信息" "/* Adver1.PrintHtml "http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/" target="_blank" >http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/","这是什么" "/*********************************************************************************** Class AdverClass Public DivID Public ObjName Private ObjDiv Public Delay "改变数 Public ImgType Private iStep Private iTop,iLeft,Width,Height Private TopFlag,LeftFlag "广告图片的大小 Public ImageWidth,ImageHeight Private Sub Class_Initialize Randomize DivID=Int(Rnd(Time)*9999+1) Delay=80 Height=document.body.clientHeight Width=document.body.clientWidth iTop=0 iLeft=0 TopFlag=False:LeftFlag=False iStep=3 ImgType=0 "0 是图片 1 是FLASH文件 ImageWidth=0 ImageHeight=0 End Sub Private Sub Class_Terminate End Sub Public Sub ScrollImg() Dim offHeight,offWidth,iRnd offWidth=ObjDiv.offsetWidth offHeight=ObjDiv.offsetHeight ObjDiv.style.left = iLeft + document.body.scrollLeft ObjDiv.style.top = iTop + document.body.scrollTop iRnd=Int(Rnd(Time)*99+1) If iRnd>97 Then TopFlag=Not TopFlag iRnd=Int(Rnd(Time)*9+1) If iRnd>98 Then LeftFlag=Not LeftFlag If TopFlag Then iTop=iTop+iStep*Rnd(Time) Else iTop=iTop-iStep*Rnd(Time) End If If LeftFlag Then iLeft=iLeft+iStep*Rnd(Time) Else iLeft=iLeft-iStep*Rnd(Time) End If If iTop<0 Then iTop=0 TopFlag=True ElseIf iTop>Height-offHeight Then iTop=Height-offHeight TopFlag=False End If If iLeft<0 Then iLeft=0 LeftFlag=True ElseIf iLeft>Width-offWidth Then iLeft=Width-offWidth LeftFlag=False End If End Sub Private Sub Start() setInterval ObjName&".ScrollImg()", Delay End Sub Public Sub PrintHtml(ByVal ImgSrc,ByVal adHref,ByVal adTitle) If ImgType=0 Then Call PrintImageHtml(ImgSrc,adHref,adTitle) Else Call PrintFlashHtml(ImgSrc,adHref,adTitle) End If Execute "Set ObjDiv=document.all.img"&DivID iLeft=Int(Rnd(Time)*(Width-100)+1) iTop=Int(Rnd(Time)*(Height-100)+1) ObjDiv.style.top=iTop ObjDiv.style.left=iLeft Call Start() End Sub Private Sub PrintImageHtml(ByVal ImgSrc,ByVal adHref,ByVal adTitle) If ImageWidth=0 Or Not IsNumeric(ImageWidth) Then ImageWidth="" Else ImageWidth=" width=""&ImageWidth&""" End If If ImageHeight=0 Or Not IsNumeric(ImageHeight) Then ImageHeight="" Else ImageHeight=" height=""&ImageHeight&""" End If document.write "<div id=""img"&DivID&""" style=""position:absolute;"">" document.write "<a href="""&adHref&""" target=""_blank"" title=""&adTitle&"">" document.write "<img src=""http://www.zzchn.com/edu/20070910/"&ImgSrc&""" alt="""&adTitle&""" border=""0"""&ImageWidth&ImageHeight&"></a></div>" End Sub Private Sub PrintFlashHtml(ByVal ImgSrc,ByVal adHref,ByVal adTitle) If ImageWidth=0 Or Not IsNumeric(ImageWidth) Then ImageWidth=80 End If ImageWidth=" width=""&ImageWidth&""" If ImageHeight=0 Or Not IsNumeric(ImageHeight) Then ImageHeight=80 End If ImageHeight=" height=""&ImageHeight&""" document.write "<div id=""img"&DivID&""" style=""position:absolute;"">" document.write "<a href="""&adHref&""" target=""_blank"" title=""&adTitle&"">" document.write "<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0""&ImageWidth&ImageHeight&" align="middle">" document.write "<param name="movie" value="http://www.zzchn.com/edu/20070910/"&ImgSrc&"">" document.write "<param name="quality" value="high">" document.write "<embed src="http://www.zzchn.com/edu/20070910/"&ImgSrc&"""&ImageWidth&ImageHeight&" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>" document.write "</a></div>" End Sub End Class [JS脚本] 以下是代码片段: file://*****************漂浮广告显示类**************************************************** file://* 作者:死在水中的鱼 file://* 脚本语言:Javascript file://* 用法: file://* var adver=new adverClass file://* adver.setObjName("adver"); file://这句不能setTime所以没有用 file://* adver.setDivID(1); file://这句可以不用 file://* adver.setImageType(1); file://设为0时或不写这句时则是普通图片,1则为Flash动画文件 file://* adver.setImagePX(299,87); file://设置图片的宽度与高度 file://* adver.showAdver("http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/" target="_blank" >http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/","这是什么"); file://* var adver1=new adverClass(); file://* adver1.showAdver("img.gif","http://www.chinese.bj.cn/","这是什么"); file://* setTimer(); file://* file://因为类里不能写setTime所以只好拿出来写-_-##(VBS脚本竟然可以。我倒) file://* function setTimer(){ file://* adver.floatScroll(); file://* adver1.floatScroll(); file://* setTimeout("setTimer()",80); file://* } file://*********************************************************************************** function adverClass(){ var objName=""; var imageType=0; var imageWidth=imageHeight=0; var iTop=iLeft=0; var topFlag=leftFlag=false; var divID=0,objDiv=null; var offWidth=offHeight=0; var width=document.body.clientWidth; var height=document.body.clientHeight; var delay=30; file://时间的延迟值 var topStep=2,leftStep=3; file://一步跨多少 var inter; file://此处是当外部不设置divID的值能够确保层的ID是唯一 divID=Math.round(Math.random()*100000) file://广告的类型 0=普通图片 1=Flash广告图片 this.setImageType=function(sType){ if(sType!=1&&sType!=0){sType=0;} imageType=sType; } file://外部调用的变量名 this.setObjName=function(sName){objName=sName;} file://广告图片的高度与宽度 this.setImagePX=function(iWidth,iHeight){ if(!isNaN(iWidth)){ imageWidth=iWidth; }else{ imageWidth=0; } if(!isNaN(iHeight)){ imageHeight=iHeight; }else{ imageHeight=0; } } file://设置广告所在层的ID值 this.setDivID=function(iDiv){divID=iDiv;} file://主函数,显示广告代码 this.showAdver=function(adImgSrc,adHref,adTitle){ if(imageType==0){ showImageHtml(adImgSrc,adHref,adTitle); }else{ showFlashHtml(adImgSrc,adHref,adTitle); } eval("objDiv=document.all.img"+divID+";"); file://取得图片的宽度 offWidth=objDiv.offsetWidth; offHeight=objDiv.offsetHeight; file://随机显示广告的开始位置 iLeft=Math.round(Math.random()*(width-offWidth)); iTop=Math.round(Math.random()*(height-offHeight)); objDiv.style.pixelLeft=iLeft; objDiv.style.pixelTop=iTop; file://定时开始 file://startTimer(); } file://主函数,漂浮游动显示广告 this.floatScroll=function(){ var iRnd; iRnd=Math.round(Math.random()*100); file://此值是为了能使多图显示时产生不同的轨迹 if(objDiv==null)return; objDiv.style.pixelLeft = iLeft + document.body.scrollLeft; objDiv.style.pixelTop = iTop + document.body.scrollTop; if(iRnd>98){leftFlag=!leftFlag;} iRnd=Math.round(Math.random()*100); if(iRnd>99){topFlag=!topFlag;} if(leftFlag){ iLeft=iLeft+leftStep*Math.random(); }else{ iLeft=iLeft-leftStep*Math.random(); } if(topFlag){ iTop=iTop+topStep*Math.random(); }else{ iTop=iTop-topStep*Math.random(); } if(iLeft<0){ iLeft=0; leftFlag=true; } else if(iLeft>width-offWidth){ iLeft=width-offWidth; leftFlag=false; } if(iTop<0){ iTop=0; topFlag=true; } else if(iTop>height-offHeight){ iTop=height-offHeight; topFlag=false; } } file://定时移动广告的图片 function startTimer(){ if(objName=="")return; file://alert(objName+".floatScroll();"); file://inter=setInterval(objName+".floatScroll()",delay); } file://显示图片的HTML代码 function showImageHtml(adImgSrc,adHref,adTitle){ var sWidth,sHeight; if(imageWidth<5){ sWidth=""; }else{ sWidth=" width=""+imageWidth+"""; } if(imageHeight<5){ sHeight=""; }else{ sHeight=" height=""+imageHeight+"""; } document.write("<div id="img"+divID+"" style="position:absolute;">"); document.write("<a href=""+adHref+"" target="_blank" title=""+adTitle+"">"); document.write("<img src="http://www.zzchn.com/edu/20070910/"+adImgSrc+"" border="0""+sWidth+sHeight+">"); document.write("</a></div>"); } file://显示Flash文件的HTML代码 function showFlashHtml(adImgSrc,adHref,adTitle){ var sWidth,sHeight; if(imageWidth<5){ sWidth=" width="80""; }else{ sWidth=" width=""+imageWidth+"""; } if(imageHeight<5){ sHeight=" height="80""; }else{ sHeight=" height=""+imageHeight+"""; } document.write("<div id="img"+divID+"" style="position:absolute;">"); document.write("<a href=""+adHref+"" target="_blank" title=""+adTitle+"">"); document.write("<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0""+sWidth+sHeight+" align="middle">"); document.write("<param name="movie" value="http://www.zzchn.com/edu/20070910/"+adImgSrc+"">"); document.write("<param name="quality" value="high">"); document.write("<embed src="http://www.zzchn.com/edu/20070910/"+adImgSrc+"""+sWidth+sHeight+" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>"); document.write("</a></div>"); } } 示例代码(包括两种脚本的使用): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> 漂浮广告显示脚本类演示 </TITLE> </HEAD> <BODY> <!--VBS脚本版的广告显示类示例程序--> <script LANGUAGE="vbscript" src="Advervbs.vbs"></script> <script LANGUAGE="vbscript"> Dim Adver,Adver1 Set Adver=New AdverClass Adver.ObjName="Adver" Adver.DivID=20 Adver.PrintHtml "img.gif","http://www.chinese.bj.cn/","这是什么" Set Adver1=New AdverClass Adver1.ObjName="Adver1" Adver1.ImgType=1 Adver1.ImageWidth=299 Adver1.ImageHeight=87 Adver1.PrintHtml "http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/" target="_blank" >http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/","这是什么" </script> <!--JS脚本版的广告显示类示例程序--> <script LANGUAGE="Javascript" src="AdverClass.js"></script> <script LANGUAGE="Javascript"> var adver=new adverClass(); adver.setObjName("adver"); adver.setDivID(1); adver.setImageType(1); adver.setImagePX(299,87); adver.showAdver("http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/" target="_blank" >http://edu.qq.com/flash/moto-button.swf","http://www.chinese.bj.cn/","这是什么"); var adver1=new adverClass(); adver1.showAdver("img.gif","http://www.chinese.bj.cn/","这是什么"); setTimer(); function setTimer(){ adver.floatScroll(); adver1.floatScroll(); setTimeout("setTimer()",80); } </script> </BODY> </HTML> 源代码网供稿. |
