2

我的网站上有 3 个不同的谷歌地图,一个用于在台式机、平板电脑和移动设备上查看时,当我调整浏览器的大小时,人们可能会执行现在调整大小的新地图指针不在正确的位置,直到我刷新页面,我只想重新加载 iframe,我对 javascript 非常陌生,并尝试了这个,但它不起作用

<script type="text/javascript">
            if( $(window).width() == 985){

                document.getElementById('map-desk').contentWindow.location.reload(true);
            }

            if( $(window).width() == 975){

                document.getElementById('map-tab').contentWindow.location.reload(true);
            }

            if( $(window).width() == 765){

                document.getElementById('map-mob').contentWindow.location.reload(true);
            }

        </script>

就像当屏幕等于某个宽度时,具有该 ID 的 iframe 会重新加载或刷新

4

3 回答 3

1

没有实际的事件处理程序,因此它只会在浏览器加载时触发一次(这显然不是您想要的)。当您使用 jQuery 时,将您的代码包装在:

$(window).resize(function() {

    // code goes here...

});

...它会在每次浏览器大小发生一分钟变化时运行代码。尽管您会遇到$(window).width()很少会达到确切像素值的问题。我不确定最佳解决方案,但涉及检查条件 +/- 30 像素的方法可能会起作用。

于 2013-03-13T14:35:04.227 回答
0

我认为您正在 jQuery 中寻找以下事件

window.onresize = function(event) {
  //your code to resize and reload here
}
于 2013-03-13T14:36:00.917 回答
0

如果调整了 mapdiv 的大小,Google 地图会自行重新加载。给 mapdiv 100% 的宽度。它将适合窗口的大小。如果您想更改地图的内容(图层、标记、路线...),您应该使用谷歌地图事件。此处列出了事件、选项和方法:https ://developers.google.com/maps/documentation/javascript/reference

于 2013-03-13T14:48:38.343 回答