Jquery 动态div加载时映射闪烁
我有一个div,我用.load()方法动态填充它。 我有一个功能来显示谷歌地图在这个div点击一个链接在我的菜单Jquery 动态div加载时映射闪烁,jquery,google-maps,Jquery,Google Maps,我有一个div,我用.load()方法动态填充它。 我有一个功能来显示谷歌地图在这个div点击一个链接在我的菜单 function ShowGmap() { var myLatlng = new google.maps.LatLng(41.905, 12.710); var mapOptions = { center: myLatlng, zoom: 16, mapTypeId: google.maps.MapTypeId.ROADMAP
function ShowGmap() {
var myLatlng = new google.maps.LatLng(41.905, 12.710);
var mapOptions = {
center: myLatlng,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("mb"),
mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"----"
mb是我每次填充的div的ID。我想要的是,菜单上的每个按钮都会用不同的内容填充这个div。
问题是:当我点击第二个按钮更改该div的内容时,地图会闪烁一秒钟(有时它会像背景一样一直在div上绘制)。我不确定这是否是缓存问题。
这是“主页”按钮上单击操作的代码
$("#bt_home").click(function(){
event.preventDefault();
click_btdove=false; //this make the button clickable only once
$("#mb").removeAttr('style');
$('#mb').load('main_page.html #home');
需要removeAttr,因为加载地图后div有灰色背景(在chrome上用“inspect element”检查)
谢谢你的帮助
编辑:
这是我的意思的一张照片:
编辑#2这是我的项目:查看当你点击“dove siamo”按钮时发生了什么
$("#bt_home").click(function(event){
event.preventDefault();
click_btdove=false; //this make the button clickable only once
$("#mb").css({"background":"none"}); // <-----add this to remove the background color
$('#mb').load('main_page.html #home');
});
$(“#bt_home”)。单击(函数(事件){
event.preventDefault();
单击\u btdove=false;//这使按钮只能单击一次
$(“#mb”).css({“背景”:“无”})//请确认哪个div的背景是#mb还是#home?#mb div的背景是灰色的。在#home div中,单击“home”按钮时,#mb中只显示文本。演示的API键无效,因此无法加载任何内容。问一个问题,为什么要删除该属性?如果删除该属性,地图将超出该属性div和将被放置在左上角,因为您的#mb
的属性位置为relative,该属性位于该div中。如果您不需要背景颜色,为什么不尝试将background设置为none呢?请参阅更新的答案。这可以解决问题!但我希望主页中的文本背景为灰色,h我现在还能这样做吗?你有两种方法:首先找到这个css类。main_box
并删除其中的background属性,或者第二种$(“#mb”)。css({“background”:“none”});
在准备好文档的处理程序之后使用它。我不想删除背景。我仍然希望#mb div始终有灰色褪色的背景。