Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 10.06.2015, 18:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Dark19,
не могу вам более помочь, стека не хватает )))
Ответить с цитированием
  #32 (permalink)  
Старый 10.06.2015, 19:05
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от рони Посмотреть сообщение
Dark19,
не могу вам более помочь, стека не хватает )))
в смысле не хватает стека?
я немного по другому решил эту проблему, но причину точно так и не понял, нашел только где это происходит
Ответить с цитированием
  #33 (permalink)  
Старый 10.06.2015, 19:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Сообщение от Dark19
в смысле не хватает стека?
нет ресурсов чтоб осмыслить ваш код, какие были идеи, вам уже показал.
Ответить с цитированием
  #34 (permalink)  
Старый 10.06.2015, 19:13
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от рони Посмотреть сообщение
нет ресурсов чтоб осмыслить ваш код, какие были идеи, вам уже показал.
эх, ладно, дальше сам буду, я просто с js недавно работаю, не понимаю многих вещей...
Ответить с цитированием
  #35 (permalink)  
Старый 13.06.2015, 15:05
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

рони,
и все таки нужна Ваша помощь. Есть перебор точек по условию и нужно когда все точки уже перебрались, передать обьект в php. Я вроде бы логично делаю: проверяю если первый и второй цикл дошел до конца присваиваю переменной единицу
if ((e==points.length-1) && (f==points.length-1))
                                                    d=1;

а в самом цикле проверяю если переменная == 1, то посылаю данные
if(d==1){
                                                            console.log(pointsDistance);
                                                            $.ajax({
                                                                type: "POST",
                                                                url: "http://geotest/ajax.php",
                                                                data: { centerDist:centerDistance,pointDist:pointsDistance },
                                                                success: function(msg){
                                                                    $("#result").empty();
                                                                    $("#result").append(msg);
                                                                }
                                                            });

                                                        }
                                                    });
, но оно доходит до конца циклов и еще посылает кучу раз эти данные. Как сделать чтобы дошло до окончания перебора и один раз переслало обьект?

Вот весь кусок:

var pointsDistance = [],d=0;
                                    for(m=0;m<points.length;m++){
                                        //console.log(pointsDistance);

                                        for(n=0;n<points.length;n++){
                                            (function(e, f) {
                                                //проверяем ровняется ли центр первой точки с любой другой и не равна ли эта точка себе же и больше ли у нее идентификатор чем у найденой
                                                if((centerDistance[e]['center']==centerDistance[f]['center']) && (centerDistance[e]['point']!=centerDistance[f]['point'])
                                                    &&(centerDistance[e]['name']>centerDistance[f]['name']) ){
                                                    //рассчитываем растояние между найдеными точками одной зоны
                                                    ymaps.route([centerDistance[e]['point'], centerDistance[f]['point']]).then(function(router) {
                                                        var dist = Math.round(router.getLength() / 1000);

                                                        pointsDistance [e]= {
                                                            name: centerDistance[e]['name'] + centerDistance[f]['name'],
                                                            distance: dist,
                                                            center: centerDistance[e]['center'],
                                                            kmwin: centerDistance[e]['dist'] + centerDistance[f]['dist'] - dist
                                                        };
                                                        var route = router.getPaths();
                                                        route.options.set({ strokeWidth: 3, strokeColor: centerDistance[f]['color'], opacity: 0.5 });
                                                        myMap.geoObjects.add(route);
                                                        console.log(d);
                                                        if(d==1){
                                                            console.log(pointsDistance);
                                                            $.ajax({
                                                                type: "POST",
                                                                url: "http://geotest/ajax.php",
                                                                data: { centerDist:centerDistance,pointDist:pointsDistance },
                                                                success: function(msg){
                                                                    $("#result").empty();
                                                                    $("#result").append(msg);
                                                                }
                                                            });

                                                        }
                                                    });

                                                }                                                
                                                console.log(e,f);
                                                if ((e==points.length-1) && (f==points.length-1))
                                                    d=1;
                                            })(m, n)
                                        }
                                        n=0;
                                    }
Ответить с цитированием
  #36 (permalink)  
Старый 13.06.2015, 15:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Dark19,
немогу помочь, причину смотрите выше, проблема слабо локализована.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замыкания, почему функция не видит переменные ruvi Общие вопросы Javascript 5 31.05.2014 17:36
Индивидуальные переменные в each Spamol jQuery 6 08.12.2012 14:34
Callback функция и глобальные переменные drunia85 Events/DOM/Window 5 14.10.2012 03:06
Функция не меняет глобальные переменные, считая их локальными alex_oo7 Общие вопросы Javascript 2 13.10.2012 14:32
Функция и переменные wcb-falcon Общие вопросы Javascript 3 03.04.2012 23:44