我一直在玩JQuery UI可拖動,並且在將元素從父母拖到另一父母時一直在維護元素位置。只要將元素移動到另一個父級,它的定位就會消失。然後我開始鍛鍊偏移量並將其應用到元素上,並且它工作得很好,直到我開始設計頁面樣式,然後所有事情都變得更糟。Jquery/Javascript將一個父母拖放到另一個
這似乎是一個簡單的要求,所以不知道我是否錯過了一個顯而易見的把戲?
道歉,如果上述不明確,很難解釋得很好。
感謝 史蒂夫
PS。下面只是JS代碼,這不是漂亮,一些值,我硬編碼現在:
$(document).ready(function() {
makeDraggable($(".draggable"));
});
function makeDraggable(el) {
var clone ;
var x = 0;
var y = 0;
$(el).draggable({
zIndex: 1000,
start:function() {
if($(this).parent().parent().attr("id") == "browser") {
clone = $(this).clone();
makeDraggable($(clone));
$(clone).css("position","absolute");
$(clone).css("z-index","0");
$(this).parent().append($(clone));
} // end if
},
drag:function() {},
stop:function() {
if($(this).parent().parent().attr("id") == "browser") {
var offset = 0;
var total_item_width = parseInt($(this).css("padding-left"))+parseInt($(this).css("padding-right"))+$(this).width();
$(clone).css("position","relative");
$("#canvas").append($(this));
offset = ($("#canvas").find(".draggable").size()-1)*total_item_width;
$(this).css("left",parseInt($(this).css("left"))+827-offset);
offset = ($("#canvas").find(".draggable").size()-1)*($(this).height()+12);
$(this).css("top",parseInt($(this).position().top));
} // end if
}
});
}
職位的代碼,如果它是很難解釋.. – Lukman 2010-08-10 08:47:32
可能檢查父elems的CSS position屬性:http://stackoverflow.com/questions/2451528/jquery-ui-sortable-scroll-helper-element -offset-firefox-issue/ – zack 2010-11-02 17:16:27