我是您提到的其中一篇博文的作者。
对于其他有同样问题的人:这里的问题取决于您需要在显示动画结束时触发调整大小事件。
你可以通过调用 google.maps.event.trigger(map, "resize");
你的显示动画结束回调来做到这一点。
因此,在您的情况下(对于您发送的链接),您需要:
编辑以下文件:
/wp-content/themes/anuncios/includes/js/theme-scripts.js
并替换这个:
/* Tab Control home main */
jQuery(function($) {
var tabContainers = $('div.tabcontrol > div');
tabContainers.hide().filter(':first').show();
$('div.tabcontrol ul.tabnavig a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).fadeIn(100);
$('div.tabcontrol ul.tabnavig a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
有了这个:
/* Tab Control home main */
jQuery(function($) {
var tabContainers = $('div.tabcontrol > div');
tabContainers.hide().filter(':first').show();
$('div.tabcontrol ul.tabnavig a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).fadeIn(100, function(){
if(map != undefined && map != null)
google.maps.event.trigger(map, "resize");
});
$('div.tabcontrol ul.tabnavig a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
第2部分
找到以下代码:
$(tabs).click(function() {
// hide all tabs
$(tabContainers).hide().filter(this.hash).fadeIn(500);
$(tabs).removeClass('selected');
$(this).addClass('selected');
return false;
});
并将其替换为
$(tabs).click(function() {
// hide all tabs
$(tabContainers).hide().filter(this.hash).fadeIn(500, function(){
if(map != undefined && map != null)
google.maps.event.trigger(map, "resize");
});
$(tabs).removeClass('selected');
$(this).addClass('selected');
return false;
});
您的错误将得到修复,这次我在本地下载并测试了它,所以我 100% 确定它会起作用。