Последовательность выполнения функций
И снова здрасте!)))
Опять зарылся, подскажите хоть в каком направлении двигаться!? У меня два элемента: <a>Ссылка</a>и <div>Див</div> И две функции: 1-я аяксом вытягивает данные из базы, 2-я выводит данные в tooltip. Последовательность действий и проблема: 1. Навожу на ссылку 2. Выполняется первая функци и помещает результат в блок div 3. Выполняется вторая функция и выводит всплывающую подсказку со значением из блока div ПРОБЛЕМА: Навожу на ссылку всплывает пустой тултипс, навожу повторно выдаёт нужный результат. Получается вторая функция работает с опозданием или первая. Шо менi робить? )))) |
Вы забыли, что аякс асинхронный. Браузер при исполнении скрипта не будет ждать, пока придет результат, а пойдет дальше - выводить подсказку. Которой нет.
|
не знаю налетал на подобное -хоть и знал что данные уже загружены полностью. выходил из этого принудительным вызовом функции в перевый раз. как раз это момент прогона с пустотой
|
Спасибо за помощь, я уже разобрался.
Решил проблему следующим образом: function Hover(book,part,verse){ var mes = $("#verse"); $.ajax({ type: "POST", url: "путь к php обработчику", data: "Здесь я передаю данные которые пришли от ссылки: book,part,verse", complete: function(data){ mes.html(data.responseText); var mess = document.getElementById('verse').innerHTML; tooltip.show(mess);} }); } Как видите, я загнал выполнение второй функции в "complete:" и всё заработало как нужно. Надеюсь кому-нибудь пригодится. |
И снова здравствуйте!
javascript как азартная игра, только зацепись... )))) Решение одной проблемы повлекло за собой появление другой. Объясняю суть проблемы: при случайном перемещении курсора над ссылкой происходит следующее: 1. посылается запрос ajax для извлечения из БД информации, который занимает от 0,2 до 0,5 секунды. 2. в тот момент когда послан запрос, курсор мышы уже покинул область ссылки и сработала функция tooltip.hide(); которая "закрыла" ещё не открывшийся tooltip 3. после завершения запроса ajax, выполняется функция tooltip.show(mess); которая открывает tooltip, намертво привязывая его к курсору. Жду любых предложений решения проблемы |
Цитата:
проверка в функции -если флаг 0-то не выполнять её |
Пример можешь привести?
|
Решил проблему как в армии, вместо ховера для вызова функции установил онклик. Всё ничего, но появилась новая проблема)))
Позиционирование тултипа происходит при движении мышкой: document.onmousemove = this.pos; а т.к. я установил онклик, после клика мышь не двигается и тултип всплывает хрензнаетгде! ШоМенiРобить?))) Жду свежих идей, свои уже закончились. |
Часовой пояс GMT +3, время: 21:08. |