Flo*_*nt2 11 javascript google-maps dom-events
在我的应用程序中,我听取了Google Maps API的'bounds_changed'事件,发送ajax请求来更新网页上的某些div,具体取决于地图的新边界:
google.maps.event.addListener(map, 'bounds_changed', function() {
// here goes an ajax call
}
Run Code Online (Sandbox Code Playgroud)
当用户拖动地图时,会以高频率触发事件'bounds_changed'.太多了,发送到服务器的ajax请求太多了.
基本上我只想在用户停止在一段时间内移动地图(例如500ms)之后才进行ajax调用.我对Javascript没有很多经验,并尝试使用setTimeout和clearTimeout实现这一点,但没有成功.
任何想法将不胜感激:)
Bre*_*ker 12
添加一个超时,在事件触发后500ms运行代码,每次事件触发清除超时并创建一个新超时.
例如.
google.maps.event.addListener(map, 'bounds_changed', (function () {
var timer;
return function() {
clearTimeout(timer);
timer = setTimeout(function() {
// here goes an ajax call
}, 500);
}
}()));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3930 次 |
最近记录: |