2009-04-19 2 views
0

您好,我正在嘗試在Google地圖中添加厚框。在我的JQuery onload函數上,我調用以下函數。地圖工作正常。但是,當厚厚的盒子似乎沒有被調用。這是確實工作從js文件調用thickbox

<a href="test.html?keepThis=true&TB_iframe=true&height=250&width=400" title="add a caption to title attribute/or leave blank" class="thickbox">Example 1</a> 

全功能

function load(lat, lng, zlevel, userKey, state) { 

     map = new GMap2(document.getElementById("map")); 
     map.disableDoubleClickZoom(); 
     map.setCenter(new GLatLng(lat, lng), zlevel); 

     if (state) { 

      dsp = true; 

      map.addControl(new GLargeMapControl()); 
      GEvent.addListener(map, "click", function(overlay, latlng) { 

       var zoom = map.getZoom(); 
       var display = '<h5 class="header-flag">Flag</h5><p class="maptext"><a href="#" onclick="javascript:openOverlay(' + latlng.lat() + ',' + latlng.lng() + ',' + zoom + ');">Click here</a> to enter your comment - 
<a href="test.html?keepThis=true&TB_iframe=true&height=250&width=400" title="add a caption to title attribute/or leave blank" class="thickbox">Example 1</a></p>'; 

       setTimeout(function() { map.openInfoWindowHtml(latlng, display, { maxWidth: 200 }); }, 0); 
      }); 
     } else { 


     } 

     mgr = new MarkerManager(map); 
     loadMarkers(userKey); 
     mgr.refresh(); 
    } 
+0

請澄清您的示例源代碼 – pocheptsov 2009-04-19 11:52:31

+0

所以,使我的帖子有點混亂。我已經更新了:) – frosty 2009-04-19 12:31:32

回答

2

你還說你要激活的ThickBox到DOM的ThickBox的功能已經被稱爲後鏈接線。這是因爲您正在map.openInfoWindowHtml函數內動態創建鏈接。執行此功能後,您需要調用thickbox函數。

問題是我剛看了一下thickbox docs,thickbox.js文件在thickbox.js文件中設置好了,一旦DOM加載,對您來說太快了。你可以嘗試改變setTimeout函數:

我不能100%肯定這會工作,但這是問題的關鍵。