У меня есть слайдер, который вызывается с помощью AJAX-модала. Это работает потрясающе, но если я закрою модальное и открою другой модальный с тем же ползунком, очевидно, что первая функция не была убита, потому что она скользит с неправильными интервалами. После того, как я открываю и закрываю несколько модалей, ползунок неуправляемо скользит, как будто событие из предыдущих вызовов все еще активно, и говорит ползунку скользить. Мне нужно убить слайдер, когда я закрываю оверлей, чтобы он не был «активным» при повторном вызове.
Я отредактировал код, который я не нахожу релевантным, но заменил его комментариями, чтобы дать вам представление о том, как он составлен.
Функция для вызова AJAX
$(".locationResultLink").click(function () {
// The overlay is faded in,
// and then the AJAX-content is loaded into it
// Variable url is pulled from a property on (this)
// + ID of box on AJAX-requested page
$("#overlayInner").load(url, function () {
// When load is successful, call the slider
$(this, '#ajaxSlider').Horinaja({
capture: 'ajaxSlider', delay: 0.3,
duration: 4, pagination: true
});
});
Функция закрытия AJAX
// The close button is actually on the AJAX-page, so we use on()
$("body").on("click", "#btnOverlayClose", function () {
// The overlay is faded out, and then ...
$("#ajaxSlider").die();
});