0

そこにさまざまな良いjquery画像プレビュープラグインがあります。ただし、私がテストしたものはすべて、ajaxを使用してDOMに埋め込まれている画像リンクで機能していません。

jqueryライブ機能の使用をテストしましたが、問題なく動作しません。

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

これを使用しているim:http ://www.webresourcesdepot.com/jquery-image-preview-plugin-imgpreview/

問題は、上記のようにjqueryliveを使用する必要があることです。しかし、2つの欠陥があります。

  1. プレビューが表示されないときに初めてサムネイルの上にマウスを移動すると、画像をまだ取得していないためだと思います。そのため、マウスを画像から離して、もう一度画像の上に戻す必要があります。そうすると、マウスが表示されます。それは非常に迷惑です。

  2. 画像をプリロードしません。あなたが彼らのウェブサイトをチェックするならば、彼らは代わりにこのようにそれを使っています:

    $('a.preview')。imgPreview({preloadImages:'true'、});

DOMが完全にロードされた後、すべてのプレビューがプリロードされます。しかし、私は関数をカプセル化しました。しかし、私がしなかったとしても、DOMがロードされた後にajaxでこれらの画像リンクを追加することはできません。

プレビューとプリロードの両方で、ajaxがロードされた要素で同じことを実行できるプラグインについて誰かが知っているのだろうか。

ありがとう。

4

2 に答える 2

2

マウスオーバーに追加しても効果はありません。全体的なポイントは、マウスオーバーする前に画像をプリロードすることです...(マウスオーバーで使用できるようにするため)。

$('a.preview').imgPreview(...)新しいリンク(ajaxから)をdomにアタッチした直後に追加する必要があります。

于 2010-01-17T04:23:57.553 に答える
1

同じプラグインを使用し、ajaxを使用すると、これは完全に機能します。

.
.
.
$.post("ajax/showAlbum.php", { directory: "whatever" },
   function(data) {$('#first').append(data);
$('#first a').imgPreview({
    preloadImages:      'true',
    });
.
.
.
于 2011-06-25T18:27:40.323 に答える