JQuery изображения с предварительной загрузкой изображения
$(document).ready(function(){
// The plugin
$.fn.image = function(src, f){
return this.each(function(){
var i = new Image();
i.src = src;
i.onload = f;
this.appendChild(i);
});
}
// The code for the image to load
$("#asdf").image("images/3a.jpg",function(){
alert("The image is loaded now");
});
});
Я нашел вышеуказанный код. Я хочу иметь элемент, который можно загрузить с изображением, но перед тем, как изображение будет полностью загружено, я хочу, чтобы он отображал загрузочный GIF (это делается с помощью css). Это работает, но покажет загрузку изображения вместо ожидания его полной загрузки. Я думаю, что я должен показывать изображение, где оповещение использует hide() show(), но я не совсем уверен, как ссылаться на него из функции?
я попробовал это без удачи, кто-нибудь видит какие-либо проблемы>? я хочу использовать тот же div для загрузки GIF, то окончательное изображение
$('#preload').replaceWith('<img src="preloader.gif" />')
.image( "http://www.google.co.uk/intl/en_uk/images/logo.gif", function() {
$('#preload').replaceWith( this );
// is this called when image fully loaded?
});
3 ответа
Возможно, вы захотите использовать вместо этого плагин Lazy Loader (или аналогичный). Обратите внимание, что вы можете указать собственное изображение-заполнитель.
Вы можете попробовать что-то вроде этого:
var $loadingImg = $('<img />').attr('id','loadingImg').attr('src','preloader.gif');
$("#preload").html($loadingImg.html()).image("http://www.google.co.uk/intl/en_uk/images/logo.gif");
Дайте мне знать, как это происходит.
Нашел плагин, который делает именно то, что я ищу, используя изображение-заполнитель GIF, пока изображение не будет полностью загружено, а затем показывает окончательное изображение