我创建了一个图像的旋转木马/滑块,带有slick,现在我想增加悬停时图像的大小。在光滑的旋转木马前面带来图像
当我尝试这样做时,图像被光滑的容器截断。我怎样才能把图像放在前面,这样我就可以看到整个事物?我尝试使用z-index
,但它不起作用。
JSFiddle我的代码。以下是有问题悬停行为的屏幕截图。
我想要什么:
我创建了一个图像的旋转木马/滑块,带有slick,现在我想增加悬停时图像的大小。在光滑的旋转木马前面带来图像
当我尝试这样做时,图像被光滑的容器截断。我怎样才能把图像放在前面,这样我就可以看到整个事物?我尝试使用z-index
,但它不起作用。
JSFiddle我的代码。以下是有问题悬停行为的屏幕截图。
我想要什么:
被隐藏的溢出是什么阻止缩放图像完全显示。但是你不能简单地显示溢出,因为这会导致隐藏的幻灯片显示。
你需要做的是克隆传送带外的缩放图像。这是一个工作JSFiddle
$(".zoom-it").mouseenter(function(){
var $this = $(this);
var position = $this.offset();
$this.clone()
.addClass('scaled')
.insertAfter($(".my-slider"))
.css({left: position.left, top: position.top});
});
$(document).on('mouseleave', ".zoom-it.scaled", function(){
$(this).remove();
});
有了更新的CSS
.zoom-it.scaled {
transform: scale(2);
position: absolute;
}
这将克隆悬停图像,放置在顶部的缩放版本,当鼠标离开它删除。
问题是华而不实添加overflow:hidden
到包含您的图片光滑滑块类。
您可以通过添加这对你的CSS重写此:
.my-slider > div {
overflow:visible;
}
编辑:
我不好,你应该做的
.my-slider > div {
overflow-y:visible;
}
使隐藏的图像将留隐患。
产生所需功能的另一个解决方案是向div封装添加填充添加到最外层的传送带容器。经过几个小时的努力之后,就解决了这个问题。希望这可以帮助某人。
.carousel类名> DIV { 填充:20像素20像素0像素0像素 }
这解决了我的问题,但一个快速的观察:用这种方法,你不能再点击并拖动图像移动到旋转木马中的下一个/上一个图像。 – edo