У меня есть панель навигации с некоторыми ссылками внутри нее. При нажатии любой ссылки он загружает содержимое с соответствующей страницы html в div, расположенном рядом с панелью навигации. Поскольку загрузка содержимого может занять пару секунд, я пытаюсь показать spinner, пока содержимое загружено. Вот пример кода, я попробовал:JQuery - Как показать spinner при загрузке контента в div?
$('.nav_link').click(function(e) {
$('.div_content').html('');
var link = $(this);
setTimeout(function() {
$(".div_content").load(link.attr('ref'));
}, 1000);
$('.spinner').show(); // show Loading Div
setTimeout(function() {
$('.spinner').hide(); // hide loading div
},1500);
});
Приведенный выше код показывает счетчик и он начинает вращаться, то он останавливается и застывает до загрузки контента. Затем счетчик исчезает, и содержимое отображается просто отлично. Вместо этого замораживания прядильщика мне нужно заставить его вращаться, пока контент не будет полностью загружен.
Here is a full code example in plnkr
Любые предложения?
, скорее всего, объяснение есть, что в вашей функции загрузки есть ошибка .... проверьте консоль! – David
_ "но содержимое не появляется" _ Попробуйте подставить '.attr ('href')' for '.attr ('ref')' – guest271314
Можете ли вы включить 'html' в Question? – guest271314