gpt4 book ai didi

jquery 每个都不能正常工作

转载 作者:行者123 更新时间:2023-12-01 04:54:10 25 4
gpt4 key购买 nike

我正在尝试循环遍历集合并尝试在循环中设置全局变量。由于某种原因,循环在其他代码完成执行后执行。

示例

在就绪函数之外声明

var lt1,lt2; 

循环

lt1="opp";
$('#map_block').gmap().bind('init', function(ev, map) {
$.each(places,function(i, val) {
lt2 = val['h_longitude'];
lt1 = (val['h_latitude']);
clientPosition1 = new google.maps.LatLng(val['h_latitude'], val['h_longitude']);
console.log(lt1);
$('#map_block').gmap('addMarker', {'position': clientPosition1 , 'bounds': false, 'icon':hicon }).click(function() {$('#map_block'). gmap('openInfoWindow', {'content':' Test'});
});
});
console.log(lt1);

控制台显示如下

opp
41.222
42.4455
43.5566

看起来循环是在最后一个console.log(lt1)执行代码之后执行的。

最佳答案

这是因为 map 是异步加载的。 “本地图完全初始化(有边界)时,它将触发‘init’事件。” source

因此,您的第一个输出是底部的 console.log,结果是 opp。稍后,加载 map ,并触发 init 事件,执行回调匿名函数。该函数使用定义的 each 循环进行迭代并输出其结果。这就是为什么您会看到事件发生的顺序。

如果您需要在 init 之后执行代码,请考虑在 init 回调中调用的函数中执行该代码。

关于jquery 每个都不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com