我从Google Map API获得了一个用于调整高度"Map"的示例代码
var recalcHeight = function() {
$("#map").height($(window).height() - 100); //Example
map && google.maps.event.trigger(map, 'resize'); //(*) Don't understand this line
};
$(window).resize(recalcHeight);
recalcHeight();
好吧,在我的php文件中,我有一个div标记:1.我不明白上面的这一行。
我真的不知道你的问题是关于什么的,因为你没有用Javascript标记它,但我想如果你知道这一点,你会问google.maps.event.trigger(X, Y)
做了什么。另外,我不知道这与PHP文件中的div
标记有什么关系。
谷歌地图API答案
在这里了解trigger
的作用很简单:
触发给定事件。eventName之后的所有参数都作为参数传递给侦听器。
(从谷歌地图API,我很快就找到了)
Javascript答案
如果你的问题是关于整个&&
结构的,我会向你解释:
map && google.maps.event.trigger(map, 'resize');
&&
是逻辑AND,具有短循环评估意味着:
如果它的第一个参数是true,它将计算第二个参数。如果这也是true,则返回true。
如果它的第一个参数是false,那么整个表达式就不能变成true了,所以它甚至不计算第二个参数,并立即返回false。
此机制可用于(ab)更改流量控制。如果条件(&&
的第一个参数)为false,则不会计算第二个参数,因此它与相同
if (map) {
google.maps.event.trigger(map, 'resize');
}
我不知道map
是如何初始化的,但可能只有在有map
元素的情况下才会添加事件触发器。