2010-01-17 3 views
0

Есть различные хорошие изображения предварительного просмотра изображений jquery. однако все те, которые я тестировал, не работали над ссылками на изображения, которые встроены в DOM с помощью ajax.Предварительный просмотр jquery, который работает с ссылками на встроенные ссылки ajax?

Я испытал использование функции jquery live, но она не работает безупречно.

$('a.preview').live('mouseover', function() { 
    $(this).imgPreview({ 
     imgCSS: { 
      //width: '200px' 
     }, 
     preloadImages:  'true', 
    }); 
}); 

им с помощью этого один: http://www.webresourcesdepot.com/jquery-image-preview-plugin-imgpreview/

проблема заключается в том, что я должен использовать JQuery живой, как у см.выше. но есть два недостатка.

  1. если я переместить курсор на миниатюру в первый раз, он не показывает предварительный просмотр, я думаю, что это потому, что я hasnt принес изображение еще. поэтому мне нужно снова отодвинуть мышь от изображения и снова вернуться к изображению, тогда оно будет показано. и это очень раздражает.

  2. не загружает изображения. если вы проверить на их сайте, они используют его, как это вместо:

    $ ('a.preview') imgPreview ({ preloadImages: 'истина', }).

, который предварительно загрузит все предварительные просмотры после полной загрузки DOM. но я инкапсулировал функцию. но даже если я этого не сделал, это не может привести к добавлению этих ссылок изображений с помощью ajax ПОСЛЕ DOM.

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

спасибо.

+0

которые являются плагиными ближайшими к тому, что вы хотите, но не совсем там все же? –

ответ

2

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

следует добавить $('a.preview').imgPreview(...) сразу после того, присоединять новые ссылки (от AJAX) к йоту ..

+0

пробовал это, но это будет ошибкой, если вы используете функцию 2 раза, тогда она будет показывать двойные превью .. и это также победит цель предварительной загрузки в фоновом режиме, если я поместил ее после каждого элемента ajax, дождаться, пока он не будет полностью предварительно загружен до того, как он запросит следующий образ, поэтому он не будет работать на фоне ... проблематично! Не пытался ли кто-нибудь просмотреть ссылки на встроенные изображения ajax? – ajsie

+0

, когда вы извлекаете изображения из вызова ajax, вы можете сделать их дополнительным классом, например «newimage», и использовать только предварительный просмотр на этих изображениях, а затем удалить это изображение .. поэтому предварительный просмотр будет применен только к новым ... просто думаю ... –

1

, используя один и тот же плагин и с помощью AJAX этой работы отлично:

. 
. 
. 
$.post("ajax/showAlbum.php", { directory: "whatever" }, 
    function(data) {$('#first').append(data); 
$('#first a').imgPreview({ 
    preloadImages:  'true', 
    }); 
. 
. 
.