JS實現(xiàn)拖拽的虛線框
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1 {
width: 100px;
height: 100px;
background: red;
position: absolute;
}
.box {
border: 1px dashed black;
position: absolute;
}
</style>
<script>
window.onload = function() {
var oDiv = document.getElementById('div1');
var disX = 0;
var disY = 0;
oDiv.onmousedown = function(ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
disY = oEvent.clientY - oDiv.offsetTop;
//虛線框
var oBox = document.createElement('div');
oBox.className = 'box';
//設(shè)置box的寬高
oBox.style.width = oDiv.offsetWidth - 2 + 'px';
oBox.style.height = oDiv.offsetHeight - 2 + 'px';
//設(shè)置出現(xiàn)的位置
oBox.style.left = oDiv.offsetLeft + 'px';
oBox.style.top = oDiv.offsetTop + 'px';
document.body.appendChild(oBox);
function mouseMove(ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
var t = oEvent.clientY - disY;
//這里移動的是box
oBox.style.left = l + 'px';
oBox.style.top = t + 'px';
};
function mouseUp() {
//將box的位置給div
oDiv.style.left = oBox.offsetLeft + 'px';
oDiv.style.top = oBox.offsetTop + 'px';
//移除box
document.body.removeChild(oBox);
this.onmousemove = null;
this.onmouseup = null;
if(this.releaseCapture) {
this.releaseCapture();
}
}
//兼容性判定
if(oDiv.setCapture) {
//IE
oDiv.onmousemove = mouseMove;
oDiv.onmouseup = mouseUp;
oDiv.setCapture();
} else {
//Chrome/FF
document.onmousemove = mouseMove;
document.onmouseup = mouseUp;
}
return false; //chrome,ff,ie9
}
}
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>
JS添加事件兼容的一個簡單小函數(shù)
function myAddEvent(obj,ev,fn)
{
if(obj.attachEvent)
{
obj.attachEvent('on'+ev,fn);
}else
{
obj.addEventListener(ev,fn,false);
}
}
window.onload=function(){
var oDiv = document.getElementById('btn1');
myAddEvent(oDiv,'click',function(){
alert('abc');
})
myAddEvent(oDiv,'click',function(){
alert('ced');
})
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。