我編寫了一個代碼塊(如下),用於在元素上打開/關閉JQuery Draggable。 總之,當你點擊一個div叫按鈕它切換開/關上另一格稱爲dragBlock如何在if語句中打開/關閉JQueryUI Draggable
這花了一段時間,但我終於得到了它的工作可拖動效果。我的問題是我不明白爲什麼下面的代碼不適用於只有一個Draggable實例。主要是使用狀態參數的那個。
$(dragBlock).draggable(state);
$(dragBlock).draggable(); // This line is needed for the code to work. Why?
這不是一個大問題,但我想知道這是爲什麼,我的身影有人在這裏也許能解釋它:
$(dragBlock).draggable(state);
相反,當我使用這個它只能。 JSfiddle是在這裏:
而且代碼如下:
$(document).ready(function() {
var state = "disable";
var button = document.getElementById("button");
var dragBlock = document.getElementById("dragBlock");
var toggle = function() {
if (state==="enable") {
state = "disable";
}
else if(state==="disable") {
state = "enable";
}
$(dragBlock).draggable(state);
$(dragBlock).draggable(); // This line is needed for the code to work. Why?
console.log(state);
};
button.addEventListener("click", toggle, false);
});
這是你的小提琴http://jsfiddle.net/KrdEU/ – PSL
謝謝你的小提琴,但它引入了一個問題。我想拖動的初始狀態被禁用。我嘗試修改你的代碼,並不知道如何得到這個結果。具有諷刺意味的是,我認爲這可能是導致我當前代碼的最初問題。 – William
更新提琴與初始禁用狀態。 http://jsfiddle.net/KrdEU/5/ – jcsanyi