Я создал две пользовательские функции в разделе «head» на странице HTML, и я вызываю их со сценарием непосредственно перед закрывающим тегом body. Проблема в том, что вторая функция не работает, если я не включу в первую функцию оператор «предупреждение» (который останавливает выполнение до тех пор, пока я не отпущу предупреждение).Вторая функция jQuery не работает
Я предполагаю, что это вызвано первой функцией, которая фактически не заканчивается полностью до того, как начинается вторая, и, получив мой оператор предупреждения, он дает первое время функции для завершения.
Функция 1 - создать список изображений в тегах DIV. Функция two реализует FlexSlider для запуска слайд-шоу изображений.
Вызов ниже, так как он отобразит страницу со всеми показанными изображениями. Если я раскомментирую окно предупреждения и запустил его снова, экран будет отображаться с моими изображениями, я увольняю окно предупреждения, а затем FlexSlider запускает слайд-шоу и запускает его.
Вот две функции, определенные в разделе «глава».
<script type="text/javascript">
var buildslider = function() {
$.ajax({
type: "GET",
url: "/myImages/homepageslider/PhotoGallery.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('img').each(function() {
var location = '/myImages/homepageslider/';
var url = $(this).attr('src');
var alt = $(this).attr('alt');
$('<div class="slide-group"></div>').html('<img src="'+location+''+url+'" alt="'+alt+'"/>').appendTo('.slides');
});
}
});
//alert("buildslider finished");
};
var runslider = function() {
$('.flexslider').flexslider({
selector: '.slides > .slide-group',
controlNav: false,
directionNav: false
});
};
</script>
И вот код возле закрывающего тега «тело».
<script>
$(document).ready(function() {
buildslider();
runslider();
});
</script>
Что я делаю неправильно и как исправить это, чтобы это можно было сделать правильно?
Заранее спасибо. Дэвид.
Вторая функция должна быть вызвана успешным событием первой функции –
Ваша первая функция запускает асинхронную операцию, которая завершается позже, тогда ваша вторая функция запускается немедленно * задолго до того, как результаты будут возвращены * –
FYI. Вы можете обойтись без использования готового. .. –