带MouseOver Zoom的垂直转盘

时间:2015-09-01 08:11:44

标签: jquery css jquery-cycle2

在我的垂直幻灯片放映中,我希望在将鼠标移动时缩小图像。这是有效的,除了图像位于具有overflow:hidden。

的容器中

这是我的小提琴:http://jsfiddle.net/Xxahy/129/

缩放图像的CSS:

.cycle-carousel-wrap > img:hover {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5,1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
    box-shadow: 0 0 10px #000;
    -webkit-transform-origin: right top;
    -moz-transform-origin: right top;
    -ms-transform-origin: right top;
    -o-transform-origin: right top;
    transform-origin: right top;
}

幻灯片的HTML代码:

<script>
    $.fn.cycle.defaults.autoSelector = '.slideshow';
</script>
<div class="slideshow vertical" data-cycle-fx="carousel" data-cycle-timeout="1000" data-cycle-pause-on-hover="true" data-cycle-carousel-visible="3" data-cycle-carousel-vertical="true">        
    <img src="http://lorempixel.com/output/sports-q-c-100-100-1.jpg" />
    <img src="http://lorempixel.com/output/sports-q-c-100-100-2.jpg" />
    <img src="http://lorempixel.com/output/sports-q-c-100-100-3.jpg" />
    <img src="http://lorempixel.com/output/sports-q-c-100-100-5.jpg" />
</div>

有没有办法在溢出:隐藏容器上方显示图像?

1 个答案:

答案 0 :(得分:0)

由于DIV可能无法调整大小,现在有一种方法可以用纯粹的CSS进行调整。 所以我自己找到了解决方案,看看这个小提琴:

http://jsfiddle.net/Xxahy/130/

我在现有图像上方(以及DIV上方)创建了一个新图像:

$( ".slideshow img" ).hover(
    function() {
        $( ".slideshow" ).cycle("pause");
        if (typeof($img) == 'object') {$img.fadeOut().remove();}
        var $x = $(this).offset().left,
            $y = $(this).offset().top,
            $link = $( this ).parent().attr("data-link");
        $img = $( "<img>" );
        $img.attr( "src", $(this).attr("src"));
        $img.css({ position: "absolute", top: $y, left: $x, display: "none" });
        $( ".slideshow" ).parent().append($img);
        $img.wrap( "<a href=\"" + $link + "\" target=\"_BLANK\" rel=\"nofollow\"></a>").show().addClass( "supersized" ).mouseout( function() { 
            $(this).fadeOut().remove(); 
            $( ".slideshow" ).cycle("resume");
        });
    }
);

这是一种黑客攻击,但它有效: - )