2

4 つjQuery tabsあり、2 番目のタブで をmap使用して表示していますopenlayers libraryが、次のエラーが表示されます

Uncaught TypeError: Cannot call method 'clone' of null // onload error
Uncaught TypeError: Cannot read property 'w' of null // getting  this error when zooming-in and out

openlayers map objectorの初期化でコードが間違っていると思っていましたsomewhereが、実際には の問題でしたjQuery tabsmap div最初のタブに配置している場合map、期待どおりに表示されます。

これを試しましmap divたが、2番目のタブに配置するときに問題が解決しませんでした。

以下のコンテンツを更新:

作成jQuery tabs後にコードを書くと、 で正常に動作しますが、 でマップが破壊されます。map objectchromefirefox

jQuery tabsユーザー定義関数の実行後にどのように初期化を呼び出すことができますか?

4

1 に答える 1

1

に入るときにマップを初期化できますtab

次のようなタブを作成します。

 $( "#tabs" ).tabs({
     activate: function(event ,ui){
          if(ui.newTab.index() == 1)// tab number start from 0
           {
                    init(); // map initial function
           }
     }
 });

init()次のように定義します。

var map; //global variable
function init()
{
    if(map) //for create only one map
    { 
        return false; // if map exists it return and do not create another map
    }
    ...
    ...
}
于 2015-02-24T13:12:52.000 に答える