飘浮广告的显示脚本类(VBS,JS双版)

js|广告|脚本|显示

在写一个项目时要用到广告模块,为了不想用ASP生成脚本代码时较麻烦,于是产生了写脚本类的念头,即是用一个类模块的脚本代码去控制所有在同一页面显示的漂浮广告。但在写的过程中发现JS脚本竟然在setTimeout里不能使用类的方法。奇怪,是不是我弄错了还是JS脚本就不能这样??但VBS脚本就可以!我晕……
不说了,贴代码:

[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="""&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='"&ImgSrc&"'>" 
document.write "<param name='quality' value='high'>" 
document.write "<embed src='"&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='"+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='"+adImgSrc+"'>"); 
document.write("<param name='quality' value='high'>"); 
document.write("<embed src='"+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>

时间: 2024-08-29 00:47:34

飘浮广告的显示脚本类(VBS,JS双版)的相关文章

飘浮广告显示脚本类(VBS,JS双版)

js|广告|脚本|显示|js|广告|脚本 在写一个项目时要用到广告模块,为了不想用ASP生成脚本代码时较麻烦,于是产生了写脚本类的念头,即是用一个类模块的脚本代码去控制所有在同一页面显示的漂浮广告.但在写的过程中发现JS脚本竟然在setTimeout里不能使用类的方法.奇怪,是不是我弄错了还是JS脚本就不能这样??但VBS脚本就可以!我晕-- 不说了,贴代码:[VBS脚本代码] 以下是代码片段:'/****************漂浮广告显示类**************************

ASP日志类和判断是否包涵JS脚本类

ASP日志类  代码如下 复制代码 Function WriteLogReg(Error_lerong)     On Error Resume Next     LogFileTmp = "Error.log"     Set tmpFsoR = Server.CreateObject("scripting.filesystemobject")     Set tmpLogR = tmpFsoR.OpentextFile(Server.MapPath(LogFil

尼尔森称监测显示视频类网站广告投放数量日渐增长

5月19日上午消息,尼尔森在中国的合资公司CR-Nielsen(ChinaRank合作伙伴)今日对外宣布,监测显示视频类网站广告投放数量日渐增长. CR-Nielsen表示,根据CR-Nielsen网络广告监测系统Ad Relevance数据显示,自2008年12月以来,视频类网站的广告投量日渐增加. 以两家国内视频类网站的首页广告投放状况作为示例,CR-Nielsen的监测发现其中一家网站首页广告量增加明显,2009年3月的广告主数量.推广项目数量及创意数均为四个月来的最高点:相比之下,另一网

typeof-帮忙看看为何管理那块不显示呢 是在JS文件里的

问题描述 帮忙看看为何管理那块不显示呢 是在JS文件里的 var ghost = window.location.hostname+"":2258"";var sendrefresh = true;var showicon = true;var portraiturl = ""http://"" + host + ""/IceBeans/"";var usenickname = 0;va

按键精灵 脚本-学习VBS的一个不错的教程_vbs

今天我就从总体上对VBS进行介绍,希望能给大家一个直观的印象.另外,讲解与按键官网的按键精灵教程(李悦制作)相结合,帮大家看懂这个东东. 一.概述 要让计算机做事情就必须由人给它指令.原来的指令很复杂,都是些0011001之类的东西,后来逐渐简化,指令也更接近于人类的语言.VBS(Microsoft(R) Visual Basic(R) Scripting)也是高级语言的一种,和其他高级语言相比,它有简单易学的特点,是电脑初学者涉足编程领域的良好入口. 如果说从低级语言进化到高级语言是人类控制计

javaScript实现点击广告后显示下载地址或其它内容

以前站长们惯用的一种方式,让用户先点击广告后,才能看到真正想要的内容,用的最多的就是点击广告后显示下载地址,这功能对广告收入很有帮助,但却丧失了用户体验,尽量还是不要频率使用,代码发上来,主要是为学习JavaScript之用.  代码如下 复制代码 <base target="_blank" onclick="javascript:will()" /> <script language="JavaScript" type=&qu

Visual Studio 2008项目中WinForm窗体图标显示为类图标,只能打开代码而无法打开视图问题解决

背景:         今天打开一个Winform项目的时候,图标显示为类文件的样子而不是窗体的样子,在代码中右键也没有View Designer选项,双击图标打开的是代码而非窗体设计界面,百度后也没有找到解决方案. 解决方法(不一定通用):         1.编译项目查看有没有错误.         2.查看WinForm窗体继承的窗体文件可以打开不?有没有问题         3.签出代码,在undocheckout,编译,查看是否可以了         4.查看该项目有没有被其他人签出,

网页设计与开发-问题:现在我只想单独显示“五金类”这个字段,怎么做?

问题描述 问题:现在我只想单独显示"五金类"这个字段,怎么做? 1.代码: /s:iterator 2.代码显示出来的字段: 拉链 纽扣 五金类 手工饰品 织带 3.问题:现在我只想单独显示"五金类"这个字段,怎么做?

Android TextView显示Html类解析的网页和图片及自定义标签用法示例_Android

本文实例讲述了Android TextView显示Html类解析的网页和图片及自定义标签.分享给大家供大家参考,具体如下: Android系统显示HTML网页的最佳控件为WebView,有时候为了满足特定需求,需要在TextView中显示HTML网页.图片及解析自定义标签. 1.TextView显示Html类解析的网页 CharSequence richText = Html.fromHtml("<strong>萝卜白菜的博客</strong>--<a href='