在寫乙個專案時要用到廣告模組,為了不想用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...