javascript實作的元素拖曳函數宿主為瀏覽器_javascript技巧
//宿主为浏览器
//将相应的元素对象的引用传到函数中
function candrag(drager) {
drager.onmousedown = function (down) {
var offx = drager.offsetLeft
var offy = drager.offsetTop;
var offxl = down.clientX - offx;
var offyl = down.clientY - offy;
window.condition = 0;//为window添加了condition属性,用于解决和click之间的矛盾
document.onmousemove = function (move) {
drager.style.left = move.clientX - offxl + "px";
drager.style.top = move.clientY - offyl + "px";
drager.style.cursor = "move";
condition = Math.abs(move.clientX - down.clientX) + Math.abs(move.clientY - down.clientY);
}
}
drager.onmouseup = function () {
document.onmousemove = null;
draggerr.style.cursor = "auto";
}
}
/*对于和click之间的矛盾解决,需要判断condition
*例如:
candrag(dragger);
d01.onclick = function () {
if (!condition) {
d01.style.backgroundColor = "red";
}
}
*其中,d01为dragger的子元素
*/
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31