-1

我已经关注了jQuery code

 $("#tabs").tabs({
  select: function(event, ui) {                   
    window.location.replace(ui.tab.hash);
},}).addClass( "ui-tabs-vertical ui-helper-clearfix" );

除了为所有其他tabsjQuery 添加style属性值的第一个选项卡外display:none,由于这个我在加载openlayers map第二个选项卡时遇到错误。因为在创建map其对应div的状态时hidden。所以我添加了下面的代码,

$("#tabs").tabs("widget").find('#tab-2').attr('style','display:block');

但这会导致另一个问题,在加载第三个选项卡时,第二个选项卡也处于visible状态,有没有其他解决方案可以解决这个问题?

4

1 回答 1

1

我有一个类似的问题,没有使用 jqueryui。因为我可以控制选项卡的工作方式,所以我将宽度和高度设置为 0,而不是使用 display: none 来隐藏选项卡,这允许地图 - 在我的情况下为 gmaps 呈现。

另一件事是回调。IE 在单击选项卡时呈现地图,而不是在页面加载时呈现。我认为有一种方法可以做到这一点:http: //api.jqueryui.com/tabs/#event-activate

更新:我实际上最终做了这些想法中的第二个,但正如我所说,我编写了自己的标签,所以它更容易一些。

于 2013-05-14T11:39:49.997 回答