悬停时的图像动画jquery

Posted

技术标签:

【中文标题】悬停时的图像动画jquery【英文标题】:image animation jquery on hover 【发布时间】:2013-05-19 02:53:16 【问题描述】:

好的,

我希望当我将鼠标悬停在包含图像的 <li> 元素时,图像会变大(就像在谷歌图像缩略图中一样

<div>
    <ul class="images">
        <li><img src="http://www.placehold.it/150x100"/></li>
        <li><img src="http://www.placehold.it/150x100"/></li>
        <li><img src="http://www.placehold.it/150x100"/></li>
        <li><img src="http://www.placehold.it/150x100"/></li>
    </ul>
</div>

问题是,如果我只是为 li 设置动画,其他图片会移动,设计会被破坏。

如果需要,这是我的jsfiddle...谢谢

【问题讨论】:

为什么有人会否决我的问题? 不知道,刚刚投了赞成票。这是一个不错的问题 +1 这是个好问题 【参考方案1】:

你的 li 必须是相对定位的,并且在其中包含一个绝对定位的元素。 li 悬停状态会使其他元素展开,但由于它们是 'position:absolute',因此不会影响其他 li 定位。

点赞(伪代码):

liwidth:150px; height:100px; position:relative
li spanwidth:150px; height:100px; position:absolute; top:0; left:0; display:block
li:hover spanwidth:200px; height:150px; top:-25px; left:-25px

您还可以通过 javascript 更改 img 的 src 属性以在悬停时加载微小的缩略图和更大的详细图像。

如果您需要动画,只需添加 jQuery Animate 即可。

Fiddle on pure css

【讨论】:

虽然我使用 jquery 做了同样的事情(没有纯 css :) 但我仍然有问题,照片的动画效果正确,但即使使用 z-index:999999999999 仍然有图像悬停图像的右侧可见.. 它做了类似的事情:link 其他浏览器也会这样吗?【参考方案2】:

你可以在这里找到各种plug ins。它们是不错的插件

【讨论】:

... 好的,但如果我想自己做呢? 所有的 css 都在那里可用。你可以使用它【参考方案3】:

我觉得你需要这样的

看到这是根据您的要求的简单伪代码不知道您到底需要什么。

jQuery 代码

$('.images img').on(
    mouseenter: function()
        $(this).animate(width: '170px', height: '120px', top: '-=15px', left: '-=15px', 500);
    ,
    mouseleave: function()
        $(this).animate(width: '150px', height: '100px', top: '+=15px', left: '+=15px', 500);
    
);

See Live DEMO

【讨论】:

谢谢 Dhaval Marthak,但这不是我想要的。我希望图像变大,而其他图像根本不动!【参考方案4】:
$("li").hover(function() 
    $("img").css('height':'200px', 'width':'300px');
);

大概是这样的吧?

【讨论】:

【参考方案5】:

我终于找到了一种无需 jQuery 即可为图像设置动画的最简单方法, 仅使用 CSS3 过渡:

img

    width: 90%;
    height: 90%;
    -webkit-transition: max-width 0.5s, height 0.5s;
       -moz-transition: max-width 0.5s, height 0.5s;
          o-transition: max-width 0.5s, height 0.5s;
            transition: max-width 0.5s, height 0.5s;


img:hover

        width: 120%;
    height: 120%;

【讨论】:

以上是关于悬停时的图像动画jquery的主要内容,如果未能解决你的问题,请参考以下文章

悬停时的 jQuery 动画 |非常快的传球,停止动画

Jquery - 为啥我的图像不会在鼠标悬停时动画?

jQuery在悬停时更改(带有淡入淡出动画)div的背景图像

jQuery:悬停链接时在div中动画(淡化)背景颜色或图像?

jQuery:如何平滑动画图像大小调整

带有“鼠标方向”的悬停的 jQuery 动画