如何使用javascript增加每個位置:通過多個像素固定在頁面中?增加固定的位置
例如:我有一個帶有幾個固定位置元素的網頁,我在頂部使用javascript插入一個工具欄。現在,工具欄佔用了40px的空間,所有固定元素的位置都是40px。
我需要一些JavaScript,我可以在引入工具欄時同時觸發,這會增加所有由40px固定的位置。
如何使用javascript增加每個位置:通過多個像素固定在頁面中?增加固定的位置
例如:我有一個帶有幾個固定位置元素的網頁,我在頂部使用javascript插入一個工具欄。現在,工具欄佔用了40px的空間,所有固定元素的位置都是40px。
我需要一些JavaScript,我可以在引入工具欄時同時觸發,這會增加所有由40px固定的位置。
你可以給一個普通類每個固定的元素,然後針對所有這些:
<div class="fixed">
some fixed element
</div>
JS(jQuery的方法):如果不使用jQuery看到斯坦的答案
$('.fixed').each(function(){
$(this).css('top', $(this).css('top') + 40 + 'px');
});
您可以通過修改JS中的樣式屬性來設置元素的頂部或底部CSS屬性。
我會想象你不得不做這樣的事情:
var elems = document.all || document.getElementsByTagName("*");
// I know document.all isn't ideal, but it saves a function call if it's there ;)
var l = elems.length, i, stl;
window.getComputedStyle = window.getComputedStyle || function(e) {return e.currentStyle};
for(i=0; i<l; i++) {
stl = window.getComputedStyle(elems[i]);
if(stl.position === "fixed") {
elems[i].style.marginTop = ((parseInt(stl.marginTop,10) || 0) + 40) + "px";
}
}
,而不是top
採用margin-top
是允許的東西像top:50%
。當然,margin-top
也可以是一個百分比,這會是一個問題,但不太頻繁。
您需要對您使用的相關標記進行一些瞭解,確定需要重新定位的元素是否共享類名? –
固定元素是否有共同的類? – Eli
謝謝。元素可以是任何東西,是否有可能只增加40px的所有職位? – CalumMc