2012-11-18 137 views
1

我正在創建一個棋子變體遊戲。 我是jquery的新手,但通過一些幫助,現在棋子可以在棋盤上移動。片運動後的開始和結束位置

有沒有辦法指出移動的開始位置和結束位置?

我還想在移動完成後禁用所有塊運動。

的jsfiddle可以在這裏找到:http://jsfiddle.net/blueberrymuffin/mwu3u/1/

感謝。

下面是javascript代碼:

function drag(ob){  
    ob.dataTransfer.setData("Text",ob.target.id);  
} 

function drop(ob){ 
    var id = ob.dataTransfer.getData("Text");  
    var t = ob.target;  
    if (ob.target.nodeName == "IMG") 
    t = ob.target.parentNode; 
    t.innerHTML = ""; 
    var img = document.getElementById(id); 
    t.appendChild(img); 
    ob.preventDefault();  
} 

function allowDrop(ob){ 
    ob.preventDefault(); 
} 
+0

沒有時間去開發一個完整的答案,但爲了阻止拖動,這裏有一個我以前用過的技術:給你的可拖動的div一個css類,說「dragableDiv」(css本身可以是空的,它只是一個標記)並在你的drop事件處理程序中,使用jquery css選擇器爲任何具有「dragableDiv」css類的div設置dragabale屬性爲false對於另一部分,應該爲目標div賦予一個類似於您的td的id,並且您可以然後在您的放置處理程序中挖出目標元素的ID。已經有一段時間了,所以我可以;完全記住語法,我現在必須運行。 –

+0

我會嘗試這個路徑,但我不確定它是否可以用拖動圖像。謝謝。 – user1763812

回答

0

這是很容易,如果你同意使用jQuery(代碼以上不包含JQuery的源代碼)

對jQueryUI的可拖動一看,可投放插件http://jqueryui.com/

這裏是一段代碼允許檢索源位置元件後滴加:

$(".cases").droppable({ 
    drop: function(event, ui) { 
     console.log(event.target.id); 
     console.log(ui.draggable[0].parentElement.id); 

     var target = event.target.id; 
     var source = ui.draggable[0].parentElement.id; 

    } 
    }); 
+0

感謝您的幫助。你知道任何使用表格和圖像的例子嗎?我找到了一些使用文本的文章。我不知道如何開始。 – user1763812

相關問題