2013-03-29 28 views
0

列出相對放置的li項目的絕對位置以下是我的代碼,我必須記錄第一個移動之前所有元素的位置。否則,第二個取代第一個和所有堆棧。你對這段代碼有什麼看法?更好的解決方案可能是?給jQuery 1.9。*和更多

var pos = []; 
$.each($('ul.items li'), function(i, e) { 
    pos[i] = $(e).position(); 
}) 

$.each($('ul.items li'), function(i, e) { 
    $(e).css({ 
     position: "absolute", 
     top: pos[i].top, 
     left: pos[i].left 
    }) 
}) 
+0

我真的不明白你嘗試一下,你能進一步解釋一下嗎?你是否試圖在事件發生後記錄'li'元素的位置? – clav

回答

0

這可能會更好,這將節省數據存儲位置和檢索,也是一個DOM查詢。

$.each($('ul.items li'), function(i, e) { 
    var element = $(e); 
    (function(el, pos){ 
     setTimeout(function(){ 
      element.css({ 
       position: "absolute", 
       top: pos.top, 
       left: pos.left 
      }) 
     },0) 
    })(element, element.position()) 
}) 

jsfiddle