我关注jQuery code
,
$("#tabs").tabs({
select: function(event, ui) {
window.location.replace(ui.tab.hash);
},}).addClass( "ui-tabs-vertical ui-helper-clearfix" );
除了添加tabs
属性值style
的所有其他display:none
jQuery的第一个标签,因此我在第二个标签中加载openlayers map
时遇到错误。因为虽然创建map
对应的div
状态为hidden
状态。所以我在下面添加了代码,
$("#tabs").tabs("widget").find('#tab-2').attr('style','display:block');
但是这会导致另一个问题,在加载第三个标签时,第二个标签也处于visible
状态,是否有任何替代解决方案?
答案 0 :(得分:1)
我有一个类似的问题,没有使用jqueryui。因为我可以控制选项卡的工作方式,所以我将宽度和高度设置为0,而不是使用display:none来隐藏选项卡,这样就可以在我的情况下使用map-gmaps进行渲染。
另一件看作回调的事情。 I.E在单击选项卡时呈现地图,而不是在页面加载时。我认为有一种方法可以做到这一点:http://api.jqueryui.com/tabs/#event-activate
更新:我实际上最终做了第二个这样的想法,但正如我所说,我写了自己的标签,所以它更容易。