0

那里有各种优秀的 jquery 图像预览插件。但是,我测试过的所有链接都没有在使用 ajax 嵌入到 DOM 中的图像链接上工作。

我已经测试过使用 jquery live 功能,但它不能完美地工作。

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

我正在使用这个:http ://www.webresourcesdepot.com/jquery-image-preview-plugin-imgpreview/

问题是我必须像你上面看到的那样使用jquery live。但有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 回答