2011-12-18 3 views
1

Я хотел бы использовать this gallery на моем сайте. Единственная проблема заключается в том, что при нажатии рядом с загрузкой изображения требуется много времени. Я хотел бы предварительно загрузить следующие два изображения, когда пользователь нажимает на изображение, чтобы увеличить его.Предварительная загрузка изображений в галерее jQuery

Я столкнулся с this solution, но он кодирует имена изображений вручную, но мои изображения загружаются динамически. Есть ли другой способ, которым я могу это сделать?

ответ

1

Это простое решение. Вы можете добавить событие щелчка к большим пальцам, чтобы при нажатии на него предварительно загружаются следующие три изображения. Некоторые из способов поджимать следующего изображения, как только вы в индивидуальной навигации изображения будут по-прежнему должны быть разработаны, хотя, но, надеюсь, это будет вам получить ГПУ есть ..

$("#content img").on("click",function(){ // use .live instead if you are using an older version of jQuery 
    var next = $(this).next(); 
    for (var i = 0; i < 3; i++) 
    { 
     var img = new Image(); 
     img.src = next.attr("alt"); 
     next = next.next(); 
    } 
}); 
+0

Спасибо за ваш ответ. Это дает мне неопределенную ошибку. – input

+0

После небольшой настройки, это сработало. Большое спасибо! – input

+2

@ fuz3d круто! Рад слышать это. Извините, я не видел ваш первый пост ... моя кошка заснула на меня, и я вскоре последовал ее примеру. O_o –

0

Если ваши изображения хранятся в mysql, вы можете использовать найденное вами решение с несколькими изменениями, добавляя json-код из SQL-запроса имен изображений. Передача информации на JQuery для поджимать

require_once('JSON.php'); 
    $json = new Services_JSON(); 
    $out = $json->encode($query) 
1

Вы можете использовать решение, которое вы упомянули, вам просто нужно извлечь атрибут src изображений галерейных:

preload($('#gallery-images img').map(function() { return this.src; })); 

Это фактически вызвать функцию предварительной загрузки с необходимый массив.

1

Я рекомендую использовать эту галерею - http://dimsemenov.com/plugins/royal-slider/gallery/ это именно что вам нужно - предварительно загружает изображения поблизости, и вы можете установить, сколько нужно предварительно загружать. Но обратите внимание, что он коммерческий и стоит около 10 баксов.