J'essaye d'animer une image qui est partiellement cachée (via overflow: hidden) dans un élément de la liste. Je veux que cela se produise lorsqu'un utilisateur survole un tag A à l'intérieur du même élément de liste.jQuery le plus proche();
je le balisage suivant:
<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>
Mon css de base:
#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;
}
Je suis en train de ce qui suit avec jQuery pour déplacer l'image (en vain):
$("#projects li h2 a").hover(
function() {
$(this).closest("img").animate({paddingTop: "50px"}, "slow");
},
function() {
$(this).closest("img").animate({paddingTop: "0"}, "slow");
}
);
Tout le monde a une idée de pourquoi cela ne fonctionne pas! - toute aide très appréciée :-)
J'ai récemment découvert que les animations impliquant un débordement peuvent devenir risquées dans FireFox. Dans mon cas, il s'agissait d'un div avec débordement, et j'ai déplacé son élément contenant, mais cela a créé un désordre dans FireFox. Je ne suis pas (du tout) sûr que cela va s'appliquer à vous, mais je vous suggère de faire quelques tests dans FireFox et d'autres navigateurs. –
Je recommande d'utiliser le 'native' natif comme ceci' $ (this.closest ('img')). Animate ... 'cela augmentera considérablement le code (voir http://jsperf.com/jquery-closest-vs-element -closest) – oriadam