2012-10-07 72 views
2

我試圖fadeOut div和淡入另一個div在同一時間。它在Firefox和IE(7-9)中正常工作,並且也可以在Chrome中運行。但在chrome中,在淡出之後,我的頁面必須滾動到頂部,然後淡入淡出。fadeOut fade在Chrome問題

我希望在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"); 
}); 

回答

1

你不想使用stop()方法的任何地方!也許它在使用​​的回調中有一些問題! 試試這個:

("ul.main_news li:eq(1)").hover(function(){ 
     $(".b").stop(true, true).fadeOut(300).promise().done(function(){ 
     $(".a").fadeIn(); 
    }); 
2

您應使用此代碼insted的承諾()

$(".b").stop(true, true).fadeOut(300).queue(function(){ 
    $(".a").stop(true, true).fadeIn(); 
}); 
+0

歡迎來到SO,很高興看到您發佈了您的第一個答案!向代碼添加描述總是不錯的,所以OP和其他人在尋找相同的答案,完全理解正在發生的事情,以及它與他們所嘗試的不同之處。 –

1

您應使用此代碼,而不回調:

$(".a").stop(true, true).fadeIn(300);  
$(".b").stop(true, true).fadeOut(0);