ドラッグアンドドロップで10個のオブジェクトをテストするためのコードを作成しましたが、ドラッグアンドドロップ可能なオブジェクトをいくつでも作成する必要があります...、メートルあなたのコードに基づいてこのjavascriptスニペットをもっと便利にするにはどうすればいいですか
var oA = document.all ? document.all["a"] : document.getElementById("a")
var oB = document.all ? document.all["b"] : document.getElementById("b")
var oC = document.all ? document.all["c"] : document.getElementById("c")
var oD = document.all ? document.all["d"] : document.getElementById("d")
var oE = document.all ? document.all["e"] : document.getElementById("e")
var oF = document.all ? document.all["f"] : document.getElementById("f")
var oG = document.all ? document.all["g"] : document.getElementById("g")
var oH = document.all ? document.all["h"] : document.getElementById("h")
var oI = document.all ? document.all["i"] : document.getElementById("i")
var oJ = document.all ? document.all["j"] : document.getElementById("j")
var fA = document.all ? document.all["fA"] : document.getElementById("fA")
var fB = document.all ? document.all["fB"] : document.getElementById("fB")
var fC = document.all ? document.all["fC"] : document.getElementById("fC")
var fD = document.all ? document.all["fD"] : document.getElementById("fD")
var fE = document.all ? document.all["fE"] : document.getElementById("fE")
var fF = document.all ? document.all["fF"] : document.getElementById("fF")
var fG = document.all ? document.all["fG"] : document.getElementById("fG")
var fH = document.all ? document.all["fH"] : document.getElementById("fH")
var fI = document.all ? document.all["fI"] : document.getElementById("fI")
var fJ = document.all ? document.all["fJ"] : document.getElementById("fJ")
Drag.init(oA, null, 0, 278, 0, 278);
Drag.init(oB, null, 0, 278, 0, 278);
Drag.init(oC, null, 0, 278, 0, 278);
Drag.init(oD, null, 0, 278, 0, 278);
Drag.init(oE, null, 0, 278, 0, 278);
Drag.init(oF, null, 0, 278, 0, 278);
Drag.init(oG, null, 0, 278, 0, 278);
Drag.init(oH, null, 0, 278, 0, 278);
Drag.init(oI, null, 0, 278, 0, 278);
Drag.init(oJ, null, 0, 278, 0, 278);
oA.onDragEnd = function(x, y) { keepDragEnd(fA, fA1, "A", x, y); }
oB.onDragEnd = function(x, y) { keepDragEnd(fB, fB1, "B", x, y); }
oC.onDragEnd = function(x, y) { keepDragEnd(fC, fC1, "C", x, y); }
oD.onDragEnd = function(x, y) { keepDragEnd(fD, fD1, "D", x, y); }
oE.onDragEnd = function(x, y) { keepDragEnd(fE, fE1, "E", x, y); }
oF.onDragEnd = function(x, y) { keepDragEnd(fF, fF1, "F", x, y); }
oG.onDragEnd = function(x, y) { keepDragEnd(fG, fG1, "G", x, y); }
oH.onDragEnd = function(x, y) { keepDragEnd(fH, fH1, "H", x, y); }
oI.onDragEnd = function(x, y) { keepDragEnd(fI, fI1, "I", x, y); }
oJ.onDragEnd = function(x, y) { keepDragEnd(fJ, fJ1, "J", x, y); }
oA.onDrag = function(x, y) { keepDragEnd(fA, fA1, "A", x, y); }
oB.onDrag = function(x, y) { keepDragEnd(fB, fB1, "B", x, y); }
oC.onDrag = function(x, y) { keepDragEnd(fC, fC1, "C", x, y); }
oD.onDrag = function(x, y) { keepDragEnd(fD, fD1, "D", x, y); }
oE.onDrag = function(x, y) { keepDragEnd(fE, fE1, "E", x, y); }
oF.onDrag = function(x, y) { keepDragEnd(fF, fF1, "F", x, y); }
oG.onDrag = function(x, y) { keepDragEnd(fG, fG1, "G", x, y); }
oH.onDrag = function(x, y) { keepDragEnd(fH, fH1, "H", x, y); }
oI.onDrag = function(x, y) { keepDragEnd(fI, fI1, "I", x, y); }
oJ.onDrag = function(x, y) { keepDragEnd(fJ, fJ1, "J", x, y); }
おかげガレスより再利用可能になり、同じクラス名elemsを設定し、その
getElementsByClassName
または使用jqueryのか、何が好きでそれらを得ることストリングスJS。これは問題の一部を解決するだけです。たとえば、ドラッグするアイテムが2つしかなく、次に25個のアイテムがあるとしたら、何が必要ですか?あなたがそれらを宣言したように、変数arr1,2,3などはまだ静的であるか...何かが不足していますか? – orovis最初の配列と2番目の配列は、特定の式を持つものを生成しない限り、ページ内の要素のIDを格納します(アルファベットの文字は常に順番に並ぶでしょうか? )そして、コードが何を探すかを知るために、各idを配列に入れる必要があります。もう1つの選択肢は、これらの要素を動的に生成することです。 3番目の配列については、 "A"、 "B"、 "C"などが何であるか分かりませんでしたので、それらをそのまま配列にコピーしなければなりませんでした。より詳細な回答が必要な場合は、私が恐れる詳細な質問が必要です。 – Gareth
文字は連続しています。私は3番目の配列を削除しました...それはもはや必要ではありません。 ドラッグ・アンド・ドロップ機能は、最初に宣言されたオブジェクトより少ないオブジェクトがある場合には機能しません。たとえば、サーバー・コードの書き込みで2つのIMGがページに表示されます...しかし、javascriptは10を開始します。ドラッグアンドドロップはもはや機能しません。 – orovis