我遇到Mysite的问题,导航栏是javascript和jquery,我玩了一些代码试图在页面浏览之前加载导航栏但似乎无法找到合适的代码。实现这一目标的正确方法是什么?
答案 0 :(得分:3)
只要页面加载
,脚本就会执行<script type="text/javascript">
window.onload=body_load;
function body_load()
{
dosomethingwithelementA();
}
</script>
<div id="A"></div>
或者你在dom准备好的时候使用jquery
$(document).ready(function()
{
dosomethingwithelementA();
});
答案 1 :(得分:2)
有一些事情可以提供帮助:
将<script>
标记放在导航元素的下方,如果是jQuery代码,请不要使用$(document).ready(function(){
包装器,BC会将执行推迟一段时间因为它需要加载页面。
或者,不是等待整个文档准备就绪,没有什么可以阻止你做$('#navContainer').ready(function(){
之类的事情,以便尽快执行jQuery位因为导航元素已被加载。
那就是说,你无法确定什么时候加载,这有点不在你手中。但是,我看到人们使用类似style="display:none;"
的属性呈现HTML,然后在他们完成首先需要完成/看到的内容时使用JavaScript删除属性。缺点:一如既往:JS禁用的浏览器根本看不到任何内容。啊,好吧,拧紧它们
还有更复杂的答案。例如:为您的网页提供一个空的内容div,只提供导航并将onload
或$(doc).ready
事件绑定到ajax调用以获取您网站的实际内容。但就是说,IMO,一个边缘疯狂的解决方法。
选择并选择上述任何选项,或一起使用所有选项