带有Bing Maps问题的经典jQuery选项卡

时间:2011-03-04 02:28:10

标签: jquery jquery-ui jquery-ui-tabs bing-maps

我知道jQuery标签和使用地图存在多个问题。 我已经看到了多个修复程序,我在那里中途。但我有一个最模糊的问题,并希望有人可能理解为什么。

这是我的标签代码

$("#contactTabs").tabs({ spinner: 'Loading <img src="../images/icons/ajax-loader.gif" />' });

$('#contactTabs').bind('tabsshow', function(event, ui) {
   if (ui.panel.id == "Map") {
   GetMap();
}
});

目前无效。 但是我正在进行一些测试,并在ALERT()中添加以查看“GetMap()”是否甚至试图加载...所以这是我测试过的代码,它运行得很好。

$("#contactTabs").tabs({ spinner: 'Loading <img src="../images/icons/ajax-loader.gif" />' });

$('#contactTabs').bind('tabsshow', function(event, ui) {
   if (ui.panel.id == "Map") {
   alert("load map");
   GetMap();
}
});

所以我不知道为什么添加ALERT()导致地图加载并删除ALERT只是根本不加载地图。

有人可以就此问题向我提供任何澄清吗? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

尝试将GetMap()函数包装在以下内容中。

setTimeout(
  function(){
     GetMap();
  }, 1000);

可能发生的事情是因为JavaScript异步执行大量代码,所以在实际完全加载数据之前调用了GetMap()。

该示例假定数据将在1秒内加载。但是,良好的做法是在调用GetMap()之前检查所请求的数据是否已完全加载。