2015-04-08 38 views
-1

我有一個包含多個元素的頁面。 他們絕對定位,每個人都有CSS屬性「頂部」。使用jQuery更改元素頂部位置

我想通過所有元素並將其頂部位置改爲20px。 所以這意味着我需要獲得當前最高排名,並添加20px。

元素的數量是未知的,因爲它可以在任何時候改變。

謝謝!

+0

嘗試查看'.css'方法([https://api.jquery.com/css/](https://api.jquery.com/css/))。也看看jQuery選擇器,這將允許您一次對所有元素進行更改([https://api.jquery.com/category/selectors/](https://api.jquery.com/category/selectors /)) –

回答

1

收集要素

var $elements = $("div"); 

然後通過他們中的每一個迭代,並添加所需的

$elements.each(function() { 
    $(this).css({top: "+=20px"}); 
}) 
+0

雖然只有前三個元素受到影響, ($'(this).css('top')!='0px'){$ j(')'$('article')。這個).css('top',' - = 20');} })' 有3個元素:top:0px;和其他10個值大於0px的元素,但只有3個受到影響。有任何想法嗎? 謝謝 – sniurs

+0

你附加的代碼似乎很好。你可能有更多的代碼可以顯示你看到問題嗎? – leopik

+0

那麼沒什麼可展示的。我的每篇文章元素都將css頂部值設置爲:0,0,0,250,250 250,520,520,520等等。但只有那些頂部:250像素受到影響。它們連續排列3個。 – sniurs

3

可以使用+=語法動畫還支持

$('.box1').css('top','+=20px');
.box { 
 
    width: 100px; height:100px; position: absolute; top: 10px; 
 
} 
 

 
.box1 { background-color: red; left:10px; } 
 
.box2 { background-color: yellow; left: 120px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="box box1"></div> 
 
<div class="box box2"></div>