2011-03-04 27 views
1

我知道jQuery選項卡和使用地圖存在多個問題。 我已經看到了多個修復程序,並且我在那裏中途停了下來。但我有最隱晦的問題,並希望有人可能明白爲什麼。Bing地圖的經典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只是不加載地圖都沒有。

是否有任何澄清,有人可以在這個問題上給我? 提前謝謝!

回答

2

嘗試將GetMap()函數封裝在以下內容中。

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

什麼是可能發生的事情是,因爲JavaScript的執行大量的代碼異步的GetMap()之前的數據實際上已被完全裝入被調用。

該示例假定數據將在1秒內加載。不過,好的做法是在調用GetMap()之前檢查請求的數據是否已經完全加載。