帮忙看一下这段代码出了什么问题?
aolon 2003-07-31 02:15:10 这是一个,自由移动的图片的代码:
<script>
//让指定的对象在窗口内移动
//obj 要移动的对象
//act 动作 start:移动 stop:停止
function move(obj, act)
{
var vmin = 2;
var vmax = 5;
var vr = 2;
var timer1;
function Chip(obj) {
this.obj = obj;
this.vx = vmin + vmax * Math.random();
this.vy = vmin + vmax * Math.random();
this.w = obj.clientWidth;
this.h = obj.clientHeight;
this.xx = 0;
this.yy = 0;
this.timer1 = null;
}
function movechip(hy_movebar)
{
eval("chip=" + hy_movebar);
//chip = hy_movebar;
pageX = window.document.body.scrollLeft;
pageW = window.document.body.offsetWidth - 8;
pageY = window.document.body.scrollTop;
pageH = window.document.body.offsetHeight;
chip.xx = chip.xx + chip.vx;
chip.yy = chip.yy + chip.vy;
chip.vx += vr * (Math.random() - 0.5);
chip.vy += vr * (Math.random() - 0.5);
if (chip.vx > (vmax + vmin)) {
chip.vx = (vmax + vmin) * 2 - chip.vx;
}
if (chip.vx < (-vmax - vmin)) {
chip.vx = (-vmax - vmin) * 2 - chip.vx;
}
if (chip.vy > (vmax + vmin)) {
chip.vy = (vmax + vmin) * 2 - chip.vy;
}
if (chip.vy < (-vmax - vmin)) {
chip.vy = (-vmax - vmin) * 2 - chip.vy;
}
if(chip.xx <= pageX) {
chip.xx = pageX;
chip.vx = vmin + vmax * Math.random();
}
if(chip.xx >= pageX+pageW-chip.w) {
chip.xx = pageX+pageW-chip.w;
chip.vx = -vmin - vmax * Math.random();
}
if(chip.yy <= pageY) {
chip.yy=pageY;
chip.vy = vmin + vmax * Math.random();
}
if(chip.yy >= pageY + pageH - chip.h) {
chip.yy = pageY + pageH - chip.h;
chip.vy = -vmin - vmax * Math.random();
}
chip.obj.style.pixelLeft = chip.xx;
chip.obj.style.pixelTop = chip.yy;
chip.timer1 = setTimeout("movechip(" + chip + ")", 100);
}
function stopme (hy_movebar)
{
chip = hy_movebar;
if(chip.timer1 != null) {
clearTimeout (chip.timer1);
}
}
var hy_movebar = new Chip(obj);
if (act == 'start') {
movechip("hy_movebar");
} else {
stopme (hy_movebar)
}
var barload = 1;
}
</script>
<body>
<img name='img' src='Hlpglobe.gif' onload="move(this, 'start')">
</body>