【发布时间】:2009-11-08 19:12:04
【问题描述】:
我正在尝试为列表项中部分隐藏(通过溢出:隐藏)的图像制作动画。我希望当用户将鼠标悬停在同一列表项内的 A 标记上时发生这种情况。
我有以下标记:
<div id="projects" class="section">
<ul>
<li>
<img src="assets/img/projects/pf6.jpg" width="980" height="500" alt="Project title" />
<h2 class="left middle"><span>new</span><a href="#">Title 1</a></h2>
</li>
<li>
<img src="assets/img/projects/pf4.jpg" width="980" height="500" alt="Project title" />
<h2 class="bottom right"><a href="#">Title 2</a></h2>
</li>
</ul>
</div>
我的基本 CSS:
#projects ul li {
width: 100%;
height: 450px;
position: relative;
display: block;
margin-bottom: 20px;
color: #fff;
overflow: hidden;
}
#projects ul li img {
position: absolute;
top: -50px;
left: 0;
}
我正在尝试使用 jQuery 进行以下操作来移动图像(无济于事):
$("#projects li h2 a").hover(
function () {
$(this).closest("img").animate({paddingTop: "50px"}, "slow");
},
function () {
$(this).closest("img").animate({paddingTop: "0"}, "slow");
}
);
任何人都知道为什么这不起作用! - 非常感谢任何帮助:-)
【问题讨论】:
-
我最近发现涉及溢出的动画在 FireFox 中会变得很冒险。在我的例子中,它是一个溢出的 div,我实际上移动了它的包含元素,但它在 FireFox 中弄得一团糟。我(完全)不确定这是否适用于您,但我建议您在 FireFox 和其他浏览器中进行一些测试。
-
我推荐像这样使用原生
closest$(this.closest('img')).animate...它会显着增加代码(见jsperf.com/jquery-closest-vs-element-closest)
标签: jquery css jquery-animate closest