2

divをfadeOutし、同時に別のdivをfadeInしようとしました。FirefoxとIE(7-9)で正しく動作し、Chromeでも動作します。ただし、Chromeでは、fadeOutの後、ページを一番上までスクロールしてから、fadeInする必要があります。

FirefoxやIEのようにGoogleChromeに巻物がない状況が欲しいです。

$("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");
});
4

3 に答える 3

2

promise()の代わりにこのコードを使用する必要があります

$(".b").stop(true, true).fadeOut(300).queue(function(){
    $(".a").stop(true, true).fadeIn();
});
于 2012-10-07T08:32:27.740 に答える
1

コールバックなしでこのコードを使用する必要があります。

$(".a").stop(true, true).fadeIn(300);       
$(".b").stop(true, true).fadeOut(0);
于 2012-10-07T10:43:35.240 に答える
1

stop()どこにもメソッドを使いたくない!たぶんそれはfadeOut()!のコールバックでの使用に問題があります。これを試して:

("ul.main_news li:eq(1)").hover(function(){
      $(".b").stop(true, true).fadeOut(300).promise().done(function(){
        $(".a").fadeIn();
    });
于 2012-10-08T15:53:45.060 に答える