jQuery图库预览图像弹出窗口

时间:2012-11-05 04:13:15

标签: jquery image gallery preview

我在悬停时创建了一个带有预览图像弹出窗口的图片库。

http://jsfiddle.net/WSfka/

将鼠标悬停在缩略图上并显示较大的图像预览。

我不满意预览图像在缩放图像周围移动之间的闪烁方式。如何简化脚本并改进预览图像弹出窗口?

$(document).ready(function() {
    $('.imageGalleryAlbum li a img').mouseenter(function() {
        $(this).closest('li').find('.preview').delay(500).fadeIn(1);
        $(this).closest('li').siblings().find('.preview').fadeOut(1);
        return;
    });
    $('.imageGalleryAlbum li .preview').hover(function() {
        $(this).closest('li').siblings().find('.preview').fadeOut(1);
        return;
    });
    $('.imageGalleryAlbum li .preview').mouseleave(function() {
        $(this).closest('li').find('.preview').fadeOut(1);
        $(this).closest('li').siblings().find('.preview').fadeOut(1);
        return;
    });
    $('.imageGalleryAlbum li .preview').click(function() {
        $(this).closest('li').find('.preview').fadeOut(1);
        $(this).closest('li').siblings().find('.preview').fadeOut(1);
        return;
    });
});

$(document).mouseup(function(e) {
    var container = $(".preview");
    if (container.has(e.target).length === 0) {
        container.fadeOut(1);
    }
});​

2 个答案:

答案 0 :(得分:2)

第三次更新

试试这个

Updated your fiddle

var x;  

$(document).ready(function() {

        $('.imageGalleryAlbum li a img').on('mouseenter', function() {

            $('.preview').stop().hide();

            x = $(this).closest('li').find('.preview');

            if( $(x).is(':visible') ) {
                $(x).show();
            } else {
                $('.preview').hide();
                $(this).closest('li').find('.preview').stop().delay(500).fadeIn(0);
            }
        });


        $('.preview').parent().on('click mouseleave', function() {
            $('.preview').hide();
        });

    });

    $(document).mouseup(function(e) {
        var container = $(".preview");
        if (container.has(e.target).length === 0) {
            container.fadeOut(1);
        }
    });

答案 1 :(得分:0)

你可以尝试这个例子。

http://nemanjamilosavljevic.com/javascript/gallery_view/ 这是我制作的一个画廊,它可以满足您的需求,并且它允许用户移动鼠标,并且仍然可以打开大图像。

希望这种方法可以帮助您,或者您可以使用整个示例。

干杯;)