2013-11-21 32 views
1

不知有人能帮助我吗?在页面顶部插入div而不覆盖使用javascript

基本上我有一段Javascript代码,我希望能够给人。因此,以下情况属实:

我无法控制他们决定放入代码段的纸张(出于各种原因) - 它可能位于中间,最后,任何地方。

所有代码段都会在页面顶部放置一个小DIV。目前,我做以下(这是片段):

<div id="mydiv" style="display:none; position: fixed; top: 0; left: 0; z-index: 999; width: 100%; height: 40px; background-color:red; text-align:center; color:white"><br>Message Inside Div</div> 
<script>if (Condition) { document.getElementById("mydiv").style.display = "block"; }</script> 

现在,一个可行的治疗,当“条件”是真实的,它显示了格。但是,使用此方法时,它会覆盖div,并将其固定到页面的顶部。

但是,我也想这样做,以便div插入页面的顶部,但与正常页面一样滚动,不覆盖顶部的内容(IE:它将内容压下它出现)。

关于我该怎么做的任何想法请记住:我没有任何访问他们的页面(我什至不知道页面上还有什么),我给他们的片段可以去任何地方这一页。

+0

我猜你要么需要的全部内容裹身到另一座与上边距或通过直接改变机关作风javascript并在顶部添加一个与您的div高度相匹配的边距。 – rita

+0

感谢丽塔 - 上边缘的身体风格会工作,但我不想真的这样做,以防他们已经有其他原因设置。 什么是理想的将插入我的div直接后面的开放身体标签,但我不知道如何做到这一点。 –

回答

1

我想你无法避免使用现有的代码和样式 - 但如果你担心身体上现有的顶部边距,只需首先检查这个值。即。获取身体上边距值,添加你的元素高度,重新申请。 jQuery中的语法例(出简单的,可以做同样的香草的JavaScript)

$('body').css('margin-top',$('body').css('margin-top') + yourdiv-height); 
+0

这将工作完美,但我不能保证jquery加载在页面上。我怎样才能在香草Javascript中做到这一点? 我已试过,但它不工作: 变种体= document.getElementsByTagName( '主体')[0]; body.style.marginTop = body.style.marginTop + 40; –

+0

我已经排序 - 改为:body.style.marginTop = body.style.marginTop + 40 +“px”;它工作很棒:) –