2

我有四个jQuery tabs,在第二个选项卡中我正在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 object我以为我的代码在初始化or时出错了somewhere,但实际上是有问题jQuery tabs。如果我放置map div在第一个选项卡中,那么它map会按预期显示。

我试过这个map div,但在放置第二个标签时没有解决问题。

更新以下内容:

如果我jQuery tabs在创建后编写代码,map object那么它可以正常工作,chrome但会破坏firefox.

我们如何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 回答