帮忙看一下这段代码出了什么问题?

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>
...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingdomzhf 2003-07-31
  • 打赏
  • 举报
回复
<script>
//让指定的对象在窗口内移动
//obj 要移动的对象
//act 动作 start:移动 stop:停止
function move(obj, act)
{
var vmin = 2;
var vmax = 5;
var vr = 2;
var timer1;

function aa()
{
movechip(chip);
}
function Chip(obj) {
try{

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;
}catch(e){alert(e)}
}
function movechip(hy_movebar)
{
try{
//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;
//alert(window['chip']);
//chip.timer1 =
window.setTimeout(aa, 100);
}catch(e){alert(e)}
}
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='E:\tomcat40\webapps\webdav\tomcat.gif' onload="move(this, 'start');">
</body>
aolon 2003-07-31
  • 打赏
  • 举报
回复
...
aolon 2003-07-31
  • 打赏
  • 举报
回复
<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>
aolon 2003-07-31
  • 打赏
  • 举报
回复
to kingdomzhf(旭日东升):
好像没有变.
kingdomzhf 2003-07-31
  • 打赏
  • 举报
回复


<body>
<script>
//让指定的对象在窗口内移动
//obj 要移动的对象
//act 动作 start:移动 stop:停止
function move(obj, act)
{
debugger;
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=window['" + 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);
}
}
hy_movebar = new Chip(obj);
if (act == 'start') {
movechip(hy_movebar);
} else {
stopme (hy_movebar)
}

var barload = 1;
}
</script>
<IMG src="file://C:\big.gif" onload="move(this, 'start')" name=img >
</body>

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧