Я пытаюсь создать некоторый jquery, он позволит пользователю нажать на div, чтобы сделать http-запрос. Основная цель, над show/hide, заключается в сокращении HTTP-запросов, поскольку содержимое загружается только тогда, когда пользователь его запрашивает.
Моя функция ниже и, по-видимому, работает некорректно. Но теперь мне нужно "зациклировать" функцию или создать другой экземпляр.
Цель этого - позволить пользователю щелкнуть один и тот же div и скрыть контент.
Любые идеи или предложения о лучших способах этого сделать очень приветствуются!
$(document).ready(function () {
$('.windguru').click(function () {
$('.loader').show(400, null, function () {
alert('loader has been shown')
$('.windguru-content').load("windguru1.html", function () {
alert('iframe content loaded, will now close the loader')
$('.loader').hide(500);
});
});
});
});
Вот jsfiddle: http://jsfiddle.net/5CJ74/
Простым способом циклы является переключение фиктивного класса на элемент DOM. В вашем случае вы хотите, чтобы действия show-hide зависали при нажатии на $ ('. Windguru'), а затем просто $('.windguru').addClass('loaded')
когда вы получаете ответ ajax и делаете $('.windguru').removeClass('loaded')
когда, при нажатии, $('.windguru').hasClass('loaded')
. Так что вот так
$('.windguru').hasClass('loaded')
$('.windguru').addClass('loaded')
и делает остальную загрузку ajax$('.windguru').removeClass('loaded')
и скрыть содержимое.Вы можете улучшить это дальше,