我試圖實現以下。當用戶將圖標拖動到html頁面中的特定位置並保持約3秒時,它必須自動創建新頁面(如果沒有頁面),否則轉到下一頁(或上一頁)。iPhone的jQuery動作與拖放
這是jQuery可以實現嗎?如果是的話,我怎麼才能意識到呢?
我發現並試圖以下解決方案:
使用雷米夏普mousedrop插件。在這個插件中,我可以使用timerinterval來計算我是否處於特定區域的一段時間。
$(this).mousedown(function(interval))
{
}
但不知何故,我沒有得到這個工作與jQuery UI的拖放功能。我已經開發了一些與jQuery UI的代碼,但如果它有用?我真的不知道。
$("#pickUpDiv").draggable({
start: function() {
},
drag: function() {
var timeOutPointer = -1;
var focusElm = $("#focusCenter");
var leftTopPos = focusElm.position();
var height = focusElm.height();
var width = focusElm.width();
var rightBottomPos = {
right: leftTopPos.left + width,
bottom: leftTopPos.top + height
};
var pos = $(this).position();
if ((pos.left > leftTopPos.left && pos.top > leftTopPos.top) && (pos.left < rightBottomPos.right && pos.top < rightBottomPos.bottom)) {
$(document).mousehold(function(timerInterval) {
if (timerInterval == 30) {
createNewPage();
} else {
}
});
}
},
stop: function() {
}
});
這是我的測試設置:
<div id="focusCenter" style="height: 200px; width: 200px; border: 1px solid black;">
</div>
<div id="pickUpDiv" style="height: 100px; width: 100px; background-color: red;">
</div>
我希望有人能幫助我,或者至少指向我朝着正確的方向... :)謝謝你在前進了。
是的我已經看到了,但那不是我的意思:)我想要的東西就像當你拖動一個圖標到網站上的特定區域,你拿着它說讓3秒它必須移動到以前頁面當它存在或創建一個新的頁面:) –
我做了類似這樣的事情。我所做的是當鼠標進入一個對象時,我向該對象添加了一個類,並設置一個超時,以查看該對象是否在n秒後還有一個類。在mouseout上刪除類並刪除計時器。如果解釋不夠,我會看看是否可以找到示例代碼。我是在樹狀結構中拖放「文件」並在懸停和等待後展開文件夾。 –
Awsome!這已經是一個非常好的解釋!這是我需要的方向,謝謝:) –