【问题标题】:Thumbnail hover zoom (enlarge) w/CSS3 and javascript z-axis problem带有 CSS3 和 javascript z 轴问题的缩略图悬停缩放(放大)
【发布时间】:2011-08-17 06:42:37
【问题描述】:

我正在尝试构建一系列在悬停时放大的缩略图。我的初步构建通过使用 CSS3 transform:scale 和 ease-in-out 来完成放大/缩放部分。问题是它们彼此重叠,因为它们共享一个 z 轴。

任何人都可以帮助我在这个场景中创建一个 javascript 添加,以正确地将每个缩略图定位在有意义的 z 轴上,即每个放大的图像都调整大小以位于另一个图像的顶部。

在我的网站上演示: demo 更新:已解决

代码预览:

html:

<div style="position: absolute;" class="item hover"> 
 <a href="#"><img alt="two" src="img/posts.png"></a> 
</div>

css:

#main div.hover {
position: relative;
z-index:200;
display: block;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
background-color: #297ab1;}

#main div.hover:hover, #main div.hover_effect {
-webkit-transform:scale(1.5, 1.5);
-moz-transform:scale(1.5, 1.5);
-o-transform:scale(1.5, 1.5);
-ms-transform:scale(1.5, 1.5);
transform:scale(1.5, 1.5);}

脚本:

$(document).ready(function() {
    $('.hover').bind('touchstart touchend', function(e) {
        e.preventDefault();
        $(this).toggleClass('hover_effect');
    });
});

所以这个页面使用这个脚本来切换将 div 的比例增加到 150% 的 hover_effect 类。

解决方案:z-index:999

还有关于在没有 setTimeOut 的情况下延迟初始 mouseenter 的任何想法吗?

非常感谢任何建议和解决方案!

附言此演示使用修改后的砌体图像库版本。

谢谢。

【问题讨论】:

  • 您可以从#main div.hover 中删除z-index 属性并将#main div.hover:hover, #main div.hover_effect 上的属性设置为01 以简化您的代码,使用999 有点傻。跨度>

标签: javascript css hover zooming scale


【解决方案1】:

未经测试:

#main div.hover:hover, #main div.hover_effect {
    z-index: 999
}

【讨论】:

  • 啊,有时最简单的解决方案就在您面前。当你盯着东西看太久时,你会错过一些小事。它工作得很好,谢谢。关于初始鼠标输入延迟的任何想法,因此它们不会立即放大?
  • 也许hoverIntent jQuery plugin 会有所帮助?不过,我不确定用你已有的东西来做这件事有多容易..
  • @nutnics 使用关键帧动画在十分之几秒内什么都不做来产生延迟动画
猜你喜欢
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 2017-12-01
  • 2014-01-15
  • 1970-01-01
  • 2016-05-04
  • 1970-01-01
  • 2011-10-11
相关资源
最近更新 更多