глобальная переменная в функции - что за? :(
var timer = null; function ttt(param){ alert(timer); if(!timer){ timer = setInterval("ttt2('"+param+"')",150); } else{ clearInterval(timer); timer = null; } } при первом запуске alert(timer) говорит "undefined" вместо "null", при следующих - все ок. Что делать? :blink: |
var timer = null; function ttt(param){ alert(timer); if(!timer){ timer = setTimeout(function(){alert(timer)},150); } else{ clearInterval(timer); timer = null; } } ttt();null, как и положено |
Здравствуйте, у меня похожая проблема.
var coord = 0; this.Run = function( { ... for (i = 0; i < orderobj.length; i++) { var geocoder = new ymaps.geocode(city + " " + orderobj[i].deliveryAddress.building.street.name + " " + orderobj[i].deliveryAddress.building.number, { results: 1 }); geocoder.then( function (res) { window.coord = res.geoObjects.get(0).geometry.getCoordinates(); } ); var order = new ymaps.Placemark([coord], // здесь вот не видит переменную { } } } Как исправить? |
странно.. а вы ее в функции объявляйте или в "корне" (глобальная)??
|
Цитата:
function { var coord = 0; this.Run = function( { ... for (i = 0; i < orderobj.length; i++) { var geocoder = new ymaps.geocode(city + " " + orderobj[i].deliveryAddress.building.street.name + " " + orderobj[i].deliveryAddress.building.number, { results: 1 }); geocoder.then( function (res) { window.coord = res.geoObjects.get(0).geometry.getCoordinates(); } ); var order = new ymaps.Placemark([coord], // здесь вот не видит переменную { } } } } |
попробуйте вынести ее за функцию
|
Цитата:
var coord = 0; function { this.Run = function( { ... for (i = 0; i < orderobj.length; i++) { var geocoder = new ymaps.geocode(city + " " + orderobj[i].deliveryAddress.building.street.name + " " + orderobj[i].deliveryAddress.building.number, { results: 1 }); geocoder.then( function (res) { window.coord = res.geoObjects.get(0).geometry.getCoordinates(); } ); alert(coord); // показывает 0 var order = new ymaps.Placemark([coord], { } } } } При первом "проходе" показывает "0", при втором показывает координаты. |
Часовой пояс GMT +3, время: 00:34. |