我正在使用.load()加载一段HTML代码。它工作正常:
$( "#main-nav header nav" ).load( "main-nav.html" );
但是我想为此添加一个功能。我正在使用meanmenu插件。它几乎可以工作但不完全:
$( "#main-nav header nav" ).load( "main-nav.html" ).meanmenu({meanScreenWidth: "790"});
这是怎么回事:
1-设置下拉菜单,窗口大小约为800px 2-加载具有该窗口大小的页面时,会出现汉堡菜单。但是下拉功能不起作用。 3-如果你把窗户放大,然后再缩小,一切都很好。 4-当我删除load()函数并将html直接放在页面中时,一切正常。
换句话说,插件可能有问题,但我不确定我是否在jquery中做错了什么。基本上,在通过load()检索HTML片段后,插件函数将附加到HTML。
在仔细查看结果之后,似乎直到我稍微调整窗口从较小(400px宽度)到较大(402px)之后才加载HTML。当我将其放回400px宽度时,菜单仍然有效,因为HTML现已加载。
答案 0 :(得分:2)
您需要利用.load()函数提供的回调函数。 http://api.jquery.com/load/
e.g。
$("#main-nav header nav").load("main-nav.html", function(){
$(this).meanmenu({meanScreenWidth: "790"});
});