我的目的是使用JavaScript在BODY的范围内移动DIV(框)。 它由4个按钮组成,每个按钮垂直和水平移动DIV(减去和加上OnClick事件传递的值)。
我的代码如下(它不起作用:():
<style>
#box {
z-index: 2;
position: absolute;
top: 200px;
left: 300px;
width: 100px;
height: 227px;
border: none;
}
</style>
<script>
function moveV(i) {
var block, vTop, vNum;
block = document.getElementById('box').style;
vTop = block.top;
vNum = parseInt(vTop);
vNum += i;
block.top = vNum + "px";
}
</script>
<input type="button" id="btn1" class="btn" onClick="moveV(-20);">
<input type="button" id="btn2" class="btn" onClick="moveH(-20);">
<input type="button" id="btn3" class="btn" onClick="moveV(20);">
<input type="button" id="btn4" class="btn" onClick="moveH(20);">
<div id="box"></div>
另外,另一个问题是,一旦达到身体限制,我不知道如何让它停止。我应该把它放在另一个DIV中,以便限制是“有形的”吗?
答案 0 :(得分:2)
使用jQuery会更好,顺便说一句就是:
block = document.getElementById('box')
); block.offsetTop
和block.offsetLeft
代替style.top
和style.left
; style.top
和style.left
,答案 1 :(得分:1)
你可以使用jquery:
function moveV(i) {
$("#box").animate({top:"+="+i+"px"});
}
function moveH(i) {
$("#box").animate({left:"+="+i+"px"});
}
它有效。