Показывать изображение предварительного загрузчика при нажатии на тег ‹a›?

Я хотел бы, чтобы тег all HTML link (<a href=...) отображал изображение (предварительный загрузчик GIF) в центре экрана при нажатии. В настоящее время у меня есть код, который показывает индикатор выполнения загрузки, но он отображается только при загрузке этой страницы. Я хочу, чтобы предварительный загрузчик GIF показывался немедленно после того, как пользователь щелкнул ссылку.

Какой код и куда добавить?


person Nathan    schedule 14.03.2014    source источник
comment
поделитесь своим кодом на JsFiddle   -  person Dimag Kharab    schedule 14.03.2014


Ответы (3)


Попробуй это,

$(function(){
    $('a').on('click',function(e){
       $('<img src="image-pat/img.gif" class="image-loader"/>').appendTo('body');
       // ....
       // your code
       // ....
       if($('.image-loader').length) { // check length to remove image-loader again
          $('.image-loader').remove();// use, if you want to remove the loader again
       }
       return true;
    });
});
person Rohan Kumar    schedule 14.03.2014
comment
насколько я понял, OP хочет показать изображение на текущей странице, пока загружается следующая страница. разве это не покажет изображение на следующей странице после того, как оно будет готово? - person T J; 14.03.2014
comment
После обновления еще как это грузит другую страницу пока отображается загрузчик? - person T J; 14.03.2014

Вы должны предварительно загрузить изображение. Для этого либо создайте элемент изображения, либо скройте изображение, показывайте его только по клику.

OR

Вы можете вызвать createElement для функции готовности документа и установить ее источник, как показано ниже:

var elem = document.createElement("img");
elem.setAttribute("src", "images/my_image.jpg");

Затем, когда вы используете этот источник в другом месте, он сразу же покажет изображение, поскольку оно уже загружено браузером.

person John Kentucky    schedule 14.03.2014
comment
Как это покажет изображение на текущей странице, пока загружается другая страница? по умолчанию, когда мы нажимаем на гиперссылку, браузер запускает процесс перенаправления. - person T J; 14.03.2014
comment
@TilwinJoy В этом случае вы можете добавить обработчик щелчка привязки, который удаляет/скрывает контент и показывает изображение прогресса, а затем возвращает значение true, чтобы браузер продолжал загружать другую страницу. - person John Kentucky; 14.03.2014

используйте jquery.imageloader()

<img class="img" src="image.png" />
<script>
$(function() {
$('.img').imageloader();
});
</script>

добавить функцию к кнопке

Надеюсь это поможет.

Посетите здесь для множества примеров.

.imageloader()

попробуй это

person JMD    schedule 14.03.2014