ASP.NET学习社区

首页 » 相关学习 » JS,HTML,CSS » 满屏幕乱跑的美女--VBScript特效代码
蚂蚁啃骨头 - 2008-2-21 14:08:00
实现的效果:
http://i.aspx1.com/upload/demo/meinv/meinv.htm

记得刚会上网的时候,有人发给我一个网页,打开一看,先显示“贞子来了”然后就是一个嘴角流着血的女鬼,这个女鬼的窗口满屏幕乱跑,还伴随着鬼叫声,那时候可吓死我了,看着女鬼吓的要命但是不知道怎么把网页关闭(那时候还不知道可以在任务栏关闭窗口和用ALT+F4关闭)……

现在想起这个网页了来还记忆犹新,可惜那个网页的网址是永远想不起来了。不过好歹自己现在也懂点脚本语言,试试自己做一个?没想到还真做出来了。

因为对JavaScript不熟悉,所以用了VBScript,不过VBScript里好像没有window.moveTo或者有我不会用,所以用JavaScript做了一个window.moveTo的函数在VBScript里调用。

<script language='javascript'>
<!--
//窗口移动函数,下面备用
function move(x,y)
{
window.moveTo(x,y);
}
//获取分辨率,以便下面决定窗口跳动的坐标范围
gao=screen.height;
kuan=screen.width;
//将窗口大小改变为300*500
window.resizeTo(300,500);
//-->
</script>

<script language="VBScript">
'第一个子过程
Sub move1()
'获得一个随机的坐标,坐标范围:左、上超出左面50像素到右下距窗口边缘10像素内
Dim m,n,o,x1,y1
m=gao-10
n=kuan-10
o=-50
Randomize timer
x1=Int(Rnd()*(n-o+1))+o
y1=Int(Rnd()*(m-o+1))+o
'调用窗口移动函数将窗口移动到随机的位置
Call move(x1,y1)
'50毫秒后执行第二个子过程
Dim t1
t1=settimeout("move2()",50)
End Sub

'第二个子过程
Sub move2()
'获得一个随机的坐标,坐标范围:左、上超出左面50像素到右下距窗口边缘10像素内
Dim m,n,o,x2,y2
m=gao-10
n=kuan-10
o=-50
Randomize timer
x2=Int(Rnd()*(n-o+1))+o
y2=Int(Rnd()*(m-o+1))+o
'调用窗口移动函数将窗口移动到随机的位置
Call move(x2,y2)
'50毫秒后执行第一个子过程
Dim t2
t2=settimeout("move1()",50)
End Sub

'窗口打开20毫秒后执行第一个子过程,这样引导第一个和第二和子过程无限循环不停的调用,就实现了我们要的效果。
Dim t
t=settimeout("move1()",20)
</script>


把这个代码加到网页里,网页就可以实现满屏乱跑的效果了(要单窗口浏览器才可以,而且因为使用了VBScript,所以基本上只有在IE6下才有效,不过使用IE6的还是占主流)

给这个网页上增加个女鬼再加点声音,或者换成其他好玩的图片把速度改慢点,肯定肯好玩。
1
查看完整版本: 满屏幕乱跑的美女--VBScript特效代码