0

我有一个用 .load() 方法动态填充的 div。我有一个功能可以通过单击菜单中的链接在此 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 上的“检查元素”进行检查。

谢谢您的帮助。

编辑:这是我的意思的图片:问题的img

编辑#2 这是我的项目:看看当你点击“dove siamo”按钮时发生了什么

4

1 回答 1

0

试试这个:

 $("#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');
 });

正如我所看到的,您的代码试图阻止链接的默认行为,但您没有在函数中传递它。

看看这个如果有帮助。

于 2012-12-16T17:31:25.840 回答