我创建了一个红色的div。使用鼠标光标我可以将它移动到屏幕上的任何位置。它很好而且很光滑。然后我决定在红色div.i中添加一个额外的橙色div使得定位“绝对”为红色div和橙色div的“亲戚”。我把橙色div放在红色div内,位置变化不顺畅。如果我点击橙色部分然后移动它是光滑但如果我剪下可见的红色部分并移动我的鼠标它是不平滑的。如何解决这个问题..
<html>
<head>
<style>
* {
margin: 0px;
padding: 0px;
}
#mydiv {
position: absolute;
width: 100px;
height: 100px;
background-color: red;
top: 300px;
left: 200px;
}
#mid {
position: relative;
width: 40px;
height: 40px;
margin: 30px 30px;
background-color: orange;
}
</style>
</head>
<body>
<div id="mydiv">
<div id="mid"></div>
</div>
<script>
var gotit = false;
var i, p, q;
var divs = document.getElementById("mydiv");
divs.addEventListener('mousedown', clipit, false);
divs.addEventListener('mousemove', function (e) {
moveit(e);
}, false);
divs.addEventListener('mouseup', unclip, false);
divs.addEventListener('mouseout', unclip, false);
function clipit() {
i = divs.offsetLeft;
gotit = true;
p = e.clientX;
q = e.clientY;
}
function moveit(e) {
if (gotit == true) {
if (e.clientX > divs.offsetLeft) {
divs.style.left = divs.offsetLeft + (e.clientX - p) + "px";
p = e.clientX;
}
if (e.clientY > divs.offsetTop) {
divs.style.top = divs.offsetTop + (e.clientY - q) + "px";
q = e.clientY;
}
}
}
function unclip() {
gotit = false;
}
</script>
</body>
</html>
答案 0 :(得分:1)