function plotmarker(z=false) {
console.log(z);
if(z >= assets.length || z==-1) {
return false;
}
if(z!=-1) {
//console.log(z +' === '+ assets.length);
var myLatLng = {lat: parseFloat(assets[z].lati), lng: parseFloat(assets[z].longi)};
jQuery('#impforpause').attr('data-z', z);
jQuery('#impforpause').attr('data-latlng', myLatLng);
var result = [parseFloat(assets[z].lati), parseFloat(assets[z].longi)];
transition(result);
z++;
steps++;
if(steps == 8) {
console.log(result);
map.panTo(myLatLng);
//map.setZoom(13);
steps = 0;
var thisasset = assets[z];
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
draggable: false,
icon : "<?php echo base_url(); ?>assets/newicon/circle_orange.png",
});
(function (marker, thisasset){
google.maps.event.addListener(marker, "click", function (e){
infoWindow.setContent(popup(thisasset));
infoWindow.open(map, marker);
});
})(marker, thisasset);
}
setTimeout(function(){ plotmarker(z) }, 500);
}
}
这是我的jQuery函数我从调用本身内部调用函数,一旦它被点击启动。我无法做的是,我想通过另一次点击来停止执行此功能。我尝试通过z==-1
作为参数,但没有成功。无法停止递归jQuery功能执行
有没有人知道如何实现这一目标?
您正在尝试使用默认参数'function ...(z = false)',但许多浏览器都不支持此功能(您似乎没有使用其他es6功能)。你应该在你的函数之外保留一个标志变量。检查该标志并在错误时停止执行。 – sniels
https://jsfiddle.net/gLba4bet/ –
嗨Sniels,你能帮我在这里 –