我有一个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'检查。
感谢您的帮助。
编辑: 这是我所说的图片:img of the problem
编辑#2这是我的项目:看看你点击“鸽子siamo”按钮时发生了什么
答案 0 :(得分: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');
});
我看到你的代码试图阻止链接的默认行为,但是你没有在函数中传递它。
如果有帮助,请看这个。