Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 动态div加载时映射闪烁_Jquery_Google Maps - Fatal编程技术网

Jquery 动态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

我有一个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
    };
    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始终有灰色褪色的背景。