2015-06-13 47 views
0

比方說,我有很多類名爲.leftItem的元素,它們都與文檔的頂部有不同的偏移量。只更改所有元素的左偏移量

我想設置所有元素的偏移量爲零。我已經研究過jQuerys offset()方法,它只需要參數lefttop

因此, $('.leftItem').offset({top: $(.leftItem).offset().top}, left: 0});把所有的元素同樣頂偏,我只想要設置的離開

完成此操作的最簡單方法是什麼?我是否必須爲每個元素設置唯一的ID並存儲每個頂部偏移量的值?

編輯:我使用$(this).offset().top嘗試,但..我相信這是因爲我使用它的處理程序

$scope.onSwipeRight = function(){ 

     $(".leftFade").offset({ top: $(this).offset().top, left: 0}); 

} 
+0

你嘗試離開頂級參數呢? '$('。leftItem')。offset({left:0});' –

+0

是的,這不起作用 – novalain

回答

1

使用this jQuery的each()內內則返回undefined:

$('.leftItem').each(function() { 
    $(this).offset({top: $(this).offset().top, left: 0}); 
}); 

http://codepen.io/anon/pen/QbgRxx

+0

重試。由於某些原因,與許多其他方法一樣,偏移對集合無法正常工作。你將不得不遍歷你的集合。 – connexo

+0

這很有道理!得到它的工作,謝謝! – novalain

0

你必須使用JS來做到這一點嗎?也許你可以嘗試使用CSS和嘗試以下操作:

.leftItem { 
    position: absolute; 
    left: 0; 
} 

這裏是一個jsFiddle