Как я могу изменить эффект перехода hover js на другой переход (fadein, fadeout, простые переходы) и т.д.?!
HTML
<img id="login-trigger" src="http://www.jointcommission.org/assets/1/6/button-login.jpg" />
<div id="login-box">
<p>Login now:</p>
Username : <input />
<br />
Password : <input />
</div>
JavaScript
$('#login-trigger, #login-box').on({
mouseenter: function(e) {
if (e.target.id == 'login-trigger') $('#login-box').slideDown('slow');
clearTimeout( $('#login-box').data('timer') );
},
mouseleave: function() {
$('#login-box').data('timer',
setTimeout(function() {
$('#login-box').slideUp('slow')
}, 300)
);
}
});
У вас есть идея? Любое решение? TY
Просто замените свои .slideDown
и .slideUp
теми же (и противоположными) ответами:
$('#login-trigger, #login-box').on({mouseenter: function(e) {
if (e.target.id == 'login-trigger')
$('#login-box').fadeIn('slow'); //Changed to fadeIn
clearTimeout( $('#login-box').data('timer') );
}, mouseleave: function() {
$('#login-box').data('timer', setTimeout(function() {
$('#login-box').fadeOut('slow') //Changed to fadeOut
}, 300));
}
});
Просто используйте другую анимацию jQuery, например .fadeOut()
$('#login-trigger, #login-box').on({
mouseenter: function(e) {
if (e.target.id == 'login-trigger') $('#login-box').slideDown('slow');
clearTimeout( $('#login-box').data('timer') );
},
mouseleave: function() {
$('#login-box').data('timer',
setTimeout(function() {
$('#login-box').fadeOut('slow')
}, 300)
);
}
});
https://api.jquery.com/animate/
$('#login-trigger, #login-box').on({
mouseenter: function(e) {
if (e.target.id == 'login-trigger') $('#login-box').slideDown('slow');
clearTimeout( $('#login-box').data('timer') );
},
mouseleave: function() {
$('#login-box').data('timer',
setTimeout(function() {
$( "#login-box" ).animate({
opacity: 0.15,
left: "+=50",
height: "toggle"
}, 5000, function() {
// Animation complete.
$('#login-box').slideUp('slow')
});
}, 300)
);
}
});
slideDown
наfadeIn
т. Д.