亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

錯在哪里了?沒有拖動的效果出來!

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>慕課網-拖拽實現</title>

<style type="text/css">


? ? #draggable{ width: 100px;height: 100px; position: absolute;top: 100px;left: 100px;border: 1px solid #ccc;background: #eee;padding: 10px;cursor: default;}


</style>

</head>

<body>


<div id="draggable">拖我</div>


<script type="text/javascript">

? ? var oDrag = document.getElementById('draggable');

? ? var isDraging = false;

? ? var startX = 0;

? ? var startY = 0;

? ? oDrag.addEventListener('mousedown',function(e){

? ? ? ? //鼠標事件1 - 在標題欄按下(要計算鼠標相對拖拽元素的左上角的坐標 ,并且標記元素為可拖動)?

? ? ? ? var e=e||window.event;

? ? startX = e.pageX-g("oDrag").offSetLeft;

startY = e.pageY-g("oDrag").offSetTop;

? ? ? ? isDragging=true;

? ? })

? ? document.onmouseup = function(e){

? ? ? ? //鼠標事件3 - 鼠標松開的時候(標記元素為不可拖動)

? ? ? ?isDragging=false;

? ? }

? ? document.onmousemove = function(e) {

? ? ? ? //鼠標事件2 - 鼠標移動時(要檢測,元素是否標記為移動)

? ? ? ? var e = e||window.event;

? ? ? ? var mouseX = e.pageX;

? ? ? ? var mouseY = e.pageY;

? ? ? ? var moveX = 0;

? ? ? ? var moveY = 0;

? ? ? ? if(isDragging === true){

? ? ? ? ? ?moveX = mouseX - startX;

? ? ? ? ? ?moveY = mouseY - startY;

? ? ? ? ? ?var pageWidth = ?document.documentElement.clientWidth;

? ? ? ? ? ?var pageHeight = document.documentElement.clientHeight;

? ? ? ? ? ?var dialogWidth = oDrag.offsetWidth;

? ? ? ? ? ?var dialogHeight = oDrag.offsetHeight;


? ? ? ? ? ?var maxX = pageWidth-dialogWidth;

? ? ? ? ? ?var maxY = pageHeight - dialogHeight;


? ? ? ? ? ?moveX = Math.min(maxX,Math.max(0,moveX));

? ? ? ? ? ?moveY = Math.min(maxY,Math.max(0,moveY));


? ? ? ? ? ?oDrag.style.left = moveX+'px';

? ? ? ? ? ?oDrag.style.top = moveY+'px';?

? ? };

</script>

</body>

</html>


正在回答

2 回答

鼠標按下事件里面計算相對偏移位置錯了,,你都沒有定義g()函數,怎么使用。而且oDrag已經是一個元素對象了。

0 回復 有任何疑惑可以回復我~

最后一個函數,沒有閉合}并且,if語句是怎么寫的能放分號嗎?if(isDragging === true)這句話中的isDragging 這個沒有。你再看看你寫的代碼吧,右側也有源碼可以參考

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

錯在哪里了?沒有拖動的效果出來!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號