一个JS题

本文介绍了一个使用JavaScript实现的自定义箱子类,该类具备高度、宽度、位置和颜色等属性。通过该类创建了两个随机位置、大小在100到200px之间的箱子,并实现了它们在屏幕上的左右弹动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:

使用JS写出一个自定义的箱子类,该箱子具有属性:高、宽、位置、颜色;现创造出两个箱子,位置随即,其宽高在100-200px之间随即生成,并设置其在屏幕上左右弹动。


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

*{margin: 0;padding: 0}

</style>

</head>

<body>

<script type="text/javascript">


function box(obj){

var dv = document.createElement(obj);

document.body.appendChild(dv);

dv.style.position="absolute";

dv.style.height= Math.floor(Math.random()*100)+100+"px";

dv.style.width= Math.floor(Math.random()*100)+100+"px";

dv.style.backgroundColor="red";

return dv;

}


var step=5;

var box1 = new box("div");

box1.id="box1";

box1.style.backgroundColor="#ccc";

box1.style.left="0px";

var w = document.body.scrollWidth;

var h_a=parseInt(box1.style.height);


mov_a();

var tag_a="r";


function mov_a(){

if(parseInt(box1.style.left)+parseInt(box1.style.width)>=w){

tag_a="l";

}

if(parseInt(box1.style.left)<=0){

tag_a="r";

}


if(tag_a=="l"){


box1.style.left=parseInt(box1.style.left)-step+"px";

}

if(tag_a=="r"){


box1.style.left=parseInt(box1.style.left)+step+"px";

}

setTimeout(mov_a,80);

}

///box2


var box2 = new box("div");

box2.id="box2";

box2.style.backgroundColor="#000";

box2.style.left="0px";

box2.style.top=h_a+5+"px";

var w = document.body.scrollWidth;

mov_b();

var tag_b="r";

function mov_b(){


if(parseInt(box2.style.left)+parseInt(box2.style.width)>=w){


tag_b="l";

}


if(parseInt(box2.style.left)<=0){

tag_b="r";

}



if(tag_b=="l"){


box2.style.left=parseInt(box2.style.left)-step+"px";

}

if(tag_b=="r"){


box2.style.left=parseInt(box2.style.left)+step+"px";

}



setTimeout(mov_b,50);

}

</script>

</body>

</html>


<!-- -->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值