我試圖在一個列表項目內動畫一個部分隱藏的圖像(通過overflow:hidden)。當用戶將鼠標懸停在同一列表項目中的A標籤上時,我希望發生這種情況。jQuery closest();
我有以下標記:
<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和其他瀏覽器中進行一些測試。 – 2009-11-08 21:47:44
我推薦使用''this''這樣的''''this.closest('img'))''animate ...''它會顯着增加代碼(參見http://jsperf.com/jquery-closest-vs-element - 最接近) – oriadam 2016-02-09 16:42:05