我想加載一個對象的頁面,可以拖動到地圖/ div但希望有一個清除/撤消按鈕?這可能與jQuery的?取消jQuery的可拖動對象或重置
您可以在前面的問題看代碼
jQuery UI droppables - changing the image that's dropped
我想加載一個對象的頁面,可以拖動到地圖/ div但希望有一個清除/撤消按鈕?這可能與jQuery的?取消jQuery的可拖動對象或重置
您可以在前面的問題看代碼
jQuery UI droppables - changing the image that's dropped
這可能是一個簡單的調用.animate()
(這畢竟是所有jQueryUI的是做)和一些邏輯,以保持軌道你正在拖動的元素的原始位置(jQueryUI已經部分爲你處理)。
使用.data()
您可拖動元素的原始位置,你droppable
對象的.drop()
事件追蹤:
$("#drop").droppable({
drop: function(event, ui) {
if (!ui.draggable.data("originalPosition")) {
ui.draggable.data("originalPosition",
ui.draggable.data("draggable").originalPosition);
}
}
});
基本上這只是設置數據稱爲「originalPosition」拖動的元素上。這假設你能夠繼續拖動元素到一個有效的拖放區域中(因此拖動後它不會覆蓋原來的位置)。
創建您調用動畫拖動的對象恢復到原來的位置的功能:
function revertDraggable($selector) {
$selector.each(function() {
var $this = $(this),
position = $this.data("originalPosition");
if (position) {
$this.animate({
left: position.left,
top: position.top
}, 500, function() {
$this.data("originalPosition", null);
});
}
});
}
調整動畫的速度,根據自己的喜好。
呼叫從一個事件處理函數:
$("#undo").click(function() {
revertDraggable($(".drag"));
});
這裏有一個工作示例:http://jsfiddle.net/v7N6w/
雖然由於某些原因,這些項目在工作示例中是可放下的 - 這正是我所需要的 - 它在我的代碼中起作用,您已經保存了我的一天 –
@Chris Mccabe:很高興聽到它有效!我也注意到小提琴裏有些古怪的東西;我把它寫成了iframe中奇怪的東西。在可丟棄對象的某些部分放下作品。我想我應該把它稱爲一個半工作的例子':)' –
假設下降元素都有某種類的你能不能只是$(」 .dropped')。remove()當清除按鈕被點擊時?您可能需要在此處提供更多信息。 – Marc
idealy我想點擊一個按鈕,觸發類似的東西恢復到特定的座標 –
我仍然不確定你在找什麼。你能舉一個完整的例子嗎? – Marc