我试图在同一时间内淡出一个div并在另一个div中淡出。它在Firefox和IE(7-9)中正常工作,它也适用于Chrome。但是在chrome中,在fadeOut之后,我的页面必须滚动到顶部然后fadeIn。
我希望Google Chrome中没有像Firefox和IE中那样滚动的情况。
$("ul.main_news li:eq(0)").hover(function(){
$(".a").stop(true, true).fadeOut(300).promise().done(function(){
$(".b").stop(true, true).fadeIn();
});
$(this).removeClass("asew");
$(this).addClass("sdghe");
$("ul.main_news li:eq(1)").removeClass("sdghe");
$("ul.main_news li:eq(1)").addClass("asew");
});
$("ul.main_news li:eq(1)").hover(function(){
$(".b").stop(true, true).fadeOut(300).promise().done(function(){
$(".a").stop(true, true).fadeIn();
});
$(this).removeClass("asew");
$(this).addClass("sdghe");
$("ul.main_news li:eq(0)").removeClass("sdghe");
$("ul.main_news li:eq(0)").addClass("asew");
});
答案 0 :(得分:2)
您应该使用此代码而不是promise()
$(".b").stop(true, true).fadeOut(300).queue(function(){
$(".a").stop(true, true).fadeIn();
});
答案 1 :(得分:1)
您应该在没有回调的情况下使用此代码:
$(".a").stop(true, true).fadeIn(300);
$(".b").stop(true, true).fadeOut(0);
答案 2 :(得分:1)
您不希望在任何地方使用stop()
方法!也许在fadeOut()
的回调中使用它有一些问题!
试试这个:
("ul.main_news li:eq(1)").hover(function(){
$(".b").stop(true, true).fadeOut(300).promise().done(function(){
$(".a").fadeIn();
});