如何使用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