有没有办法在jQuery中fadeOut()
停止mouseleave
动画?
我希望脚本的工作方式如下:
这就是我的工作:
$(document).ready(function(){
$('.this').hover(function(){
$('#container').fadeIn(200);
}).mouseleave(function(){
setTimeout(function () {
$('#container').fadeOut(200);
}, 1000);
})
$('#container').hover(function(){
$('#container').stop().show();
})
});
答案 0 :(得分:6)
喜欢这个? http://jsfiddle.net/y36ta/6/
var $container = $('#container');
$('.this').on('mouseover', function(){
$container.stop(true).fadeIn(200);
}).on('mouseleave', function(){
$container.stop(true).delay(200).fadeOut(200);
})
$container.on('mouseenter', function(){
$(this).stop(true).clearQueue().show();
}).on('mouseleave', function() {
$(this).delay(200).fadeOut(200);
});
更新:使用.on()
绑定处理程序。
答案 1 :(得分:1)
试试这个:
$(document).ready(function () {
$('.this').hover(function () {
$('#container').fadeIn(200);
});
$('.this').mouseleave(function (e) {
setTimeout(function () {
if ($('#container:hover').length != 1) $('#container').fadeOut(200);
}, 1000);
});
});
<强> DEMO 强>
答案 2 :(得分:1)
Heres a jsfiddle。检查一下,我认为这就是你需要的。
$(document).ready(function() {
$('a').hover(function() {
$('.this').stop().fadeTo(200, 1, function(){
$('.this').fadeTo(800, 0.1);
});
}, function() {
$('.this').stop().fadeTo(200, 0.1);
});
});
希望有所帮助