У меня работает мой наведение, но я заинтересован в том, чтобы сделать его более эффективным, поскольку он, кажется, «отстает», когда он находит. overlay
div. У меня также была проблема, когда я анимировал все .overlay
divs на странице, которую я считаю довольно пустой ошибкой.jQuery hover animation efficiency
В любом случае, давайте узнаем, как сделать снизу лучше!
JQuery:
// get aside feature
var aside_feature = $('aside .feature');
// on hover, fade it in
$(aside_feature).hover(function() {
// get the overlay div
var feature_overlay = $(this).find('.overlay');
$(feature_overlay).stop().fadeIn();
// on hover out, fade it out
}, function() {
$(this).find('.overlay').stop().fadeOut();
});
Markup:
<aside>
<div class="feature">
<div class="overlay">
<a href="">button</a>
</div><!-- overlay -->
<div class="text">
<p>text</p>
</div><!-- .text-->
<div class="image">
<figure>
<img src="" alt="">
</figure>
</div><!-- .image -->
</div><!-- .feature -->
</aside><!-- aside -->
Fiddle: http://jsfiddle.net/9xRML/5/
Edit - Финальный код
Спасибо @Shomz и @Afro.
окончательный выбор коды должны были использовать tranisitons, и в сочетании с Modernizr detection for transitions, я изменил свои скрытые наложенные дела до opacity: 0; *display:none;
и JavaScript в качестве запасного варианта:
CSS
.overlay {
*display: none;
opacity: 0;
transition: 0.4s all linear;
}
.overlay:hover {
opacity: 1;
}
JQuery
$(function() {
/*=====================================
= Feature overlay =
=====================================*/
if (!Modernizr.csstransitions) {
// get aside feature
var aside_feature = $('aside .feature');
// on hover, fade it in
$(aside_feature).hover(function() {
$(this).find('.overlay').stop(true, true).fadeIn();
// on hover out, fade it out
}, function() {
$(this).find('.overlay').stop(true, true).fadeOut();
});
}
});
И вы хотите, чтобы эти enimovali все сразу? Или что именно вам нужно? – Pesulap
Что означает enimovali, извините? – SMacFadyen
sry animate .... – Pesulap