飄浮廣告顯示指令碼類(VBS,JS雙版)

2021-03-31 08:56:58 字數 3687 閱讀 4702

在寫乙個專案時要用到廣告模組,為了不想用asp生成指令碼**時較麻煩,於是產生了寫指令碼類的念頭,即是用乙個類模組的指令碼**去控制所有在同一頁面顯示的漂浮廣告。但在寫的過程中發現js指令碼竟然在settimeout裡不能使用類的方法。奇怪,是不是我弄錯了還是js指令碼就不能這樣??但vbs指令碼就可以!我暈……

不說了,貼**:

[vbs指令碼**]

以下是**片段:

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

endsub

private

sub class_terminate

endsub

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)

endif

if leftflag then

ileft=ileft+istep*rnd(time)

else

ileft=ileft-istep*rnd(time)

endif

if itop<0 then

itop=0

topflag=true

elseif itop>height-offheight then

itop=height-offheight

topflag=false

endif

if ileft<0 then

ileft=0

leftflag=true

elseif ileft>width-offwidth then

ileft=width-offwidth

leftflag=false

endif

endsub

private

sub start()

setinterval objname&".scrollimg()", delay

endsub

public

sub printhtml(byval imgsrc,byval adhref,byval adtitle)

if imgtype=0 then

call printimagehtml(imgsrc,adhref,adtitle)

else

call printflashhtml(imgsrc,adhref,adtitle)

endif

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()

endsub

private

sub printimagehtml(byval imgsrc,byval adhref,byval adtitle)

if imagewidth=0 or

notisnumeric(imagewidth) then

imagewidth=""

else

imagewidth=" width='"&imagewidth&"'"

endif

if imageheight=0 or

notisnumeric(imageheight) then

imageheight=""

else

imageheight=" height='"&imageheight&"'"

endif

document.write ""

document.write ""

document.write "

" end

subprivate

sub printflashhtml(byval imgsrc,byval adhref,byval adtitle)

if imagewidth=0 or

notisnumeric(imagewidth) then

imagewidth=80

endif

imagewidth=" width='"&imagewidth&"'"

if imageheight=0 or

notisnumeric(imageheight) then

imageheight=80

endif

" document.write "

" end

subend

class

[js指令碼]

以下是**片段:

if(ileft>width-offwidth)

if(itop<0)

else

if(itop>height-offheight)

} file://定時移動廣告的

function starttimer()

file://顯示的html**

function showimagehtml(adimgsrc,adhref,adtitle)else

if(imageheight<5)else

document.write("");

document.write("");

document.write("

document.write("

");

document.write("

"); } }

示例**(包括兩種指令碼的使用):

js浮動固定層(對聯飄浮廣告,隨滾動條浮動)

js浮動固定層 對聯飄浮廣告,隨滾動條浮動 這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回車。這裡有好多好多回...

隨機廣告顯示 PHP函式

隨機廣告顯示 function myads 決定隨機顯示序號 display rand srand double microtime 1000000 display rand rand 1,display count 決定廣告序號 ads num pricount 0 ads num 1 for i...

Unity3D指令碼型別

每當建立乙個指令碼時,該指令碼都含有乙個start 開始 和update 修正 函式,這兩個函式是指令碼自帶的。awake 喚醒 函式中的 在指令碼初始化時被呼叫。update 修正 函式中的 每幀被呼叫。start 開始 在任何update 修正 函式之前,awake 喚醒 函式之前被呼叫,sta...