我有基于JQuery的选项卡导航,只有在菜单的html之后才能使用。如果它放在最后也可以工作,但是当我把相同的脚本放在$(document).ready ath中时,它会中断。
我认为这(放在页面顶部):
<script type="text/javascript">
$(document).ready(function(){
mouseovertabsmenu.init("mytabsmenu", "mysubmenuarea", true);
});
</script>
将与此相同:
<script type="text/javascript">
mouseovertabsmenu.init("mytabsmenu", "mysubmenuarea", true);
</script>
</html>
哪个位于页面底部并且有效。我怎么能把这个功能放在顶部,甚至可以从一个单独的文件中包含它?
答案 0 :(得分:1)
我遇到了这个问题,在jquery包含链接之后我在头部使用了这个:
$(document).ready(myfunction());
由于未加载对象而失败。我应该把我的电话包裹在一个函数中:
$(document).ready(function () {
myfunction();
});
只有在文档正确加载后才能正常工作。
答案 1 :(得分:0)
建议将脚本放在页面末尾的原因是,在您尝试访问它们之前将HTML元素加载到页面上。
无论您在何处放置代码,最好包装DOM ready事件,以确保在您尝试访问页面中的元素之前正确加载完整的HTML文档。
也许在你的情况下
<script type="text/javascript">
mouseovertabsmenu.init("mytabsmenu", "mysubmenuarea", true);
</script>
似乎在没有被封装在DOM中时工作就是函数无法访问,因为它的范围被DOM准备好阻止了