глобальная переменная в функции - что за? :(
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, время: 11:48. |