2012-07-17 64 views
1

我想要做的是創建一個站點,將項目拖放到放置區域,並且一旦將特定的拖動項目調用拖放到在另一個特定div中滑動的功能。我無法弄清楚爲什麼我不能得到if --- else如果工作。我的目標是有一個乾淨的函數,看到哪個項目被拖/下降,這取決於放置項目我想要一個具體的「某事發生」,比如在一個頁面滑動 這裏是我的jQuery代碼:如何找出哪個拖動的項目被丟棄

$(document).ready(function(){ 
var i; 
var banners = ('#banners'); 
var tryout = ('#try2'); 
var navItem = [banners, tryout]; 
var dropItem = (".nav"); 


// DRAGGABLE 
$(dropItem).draggable({ 

}); 

$("#dropArea").droppable({ 
    drop: function() { 

     if ("dragged Item " == banners){ 
      $(".panel").toggle("fast"); 
       $(this).toggleClass("active") 
     } 

     else if ("dragged Item " == tryout){ 
      // and so on... 
     } 
    } 

}); 

}); 

編輯加成這裏就是我在這裏現在例子www.diskrim.com/tryout $(掉物品開關DROPITEM).draggable({

}); 

$("#dropArea").droppable({ 
    drop: function(event, ui) { 

     if (ui.draggable = navItem[0]){ 
      alert("banners"); 

     } 
     else if (ui.draggable = navItem[1]){ 
      alert("just pop up"); 

     } 
     else{ 

     } 

    } 

}); 

}); 
+0

檢查傳遞到拖放回調的參數。 – 2012-07-17 19:35:15

回答

1

參考jQuery UI Documentation

drop CA llback有兩個參數:eventuiui.draggable是拖放到可投放區域的項目

+0

好的,這是有道理的。我認爲我做的是正確的,但是我發現自己無法繼續使用if ... else,如果...我不能得到其他的工作。如果你能提供幫助,這裏就是例子。 www.diskrim.com/tryout – diskrim 2012-07-17 20:05:04

+0

@diskrim你在你的陳述中使用了一個「=」號,你要設置這個變量,因此第一個陳述總會被評估爲真。使用「==」進行比較(或按位「===」)! – 2012-07-17 20:16:49

+0

我明白你的意思了。感謝您的輸入,但是我注意到我的dropItem的ui.draggable使用了一個.nav類。所以我需要比較那個類nav的div id。如何正確地調用一個可拖動的attr。(「id」)..我試着這個沒有運氣: if($(this(ui.draggable).attr(「id」))== navItem [0] ){ 警報(「橫幅」); ('id')'或可能'$(ui.draggable).attr('id')' – diskrim 2012-07-17 21:13:42

相關問題