0

このコードが機能しない理由がわかりません:

$(window).scroll(function () {
    var $scrtop = $(window).scrollTop(),
    $topnavbar = $(".topbar,.navbar-fixed-top");

    $topnavbar.mouseenter(function(){
        $topnavbar.stop(true,true).fadeTo(4000,1);
    }).mouseleave(function(){
        $topnavbar.stop(true,true).fadeTo(4000,.5);
    })
    if( $scrtop > 100 )
    {
        $topnavbar.stop(true,true).fadeTo(4000,.5);
    } else {
        $topnavbar.stop(true,true).fadeTo(4000,1);
    }

});//scroll

それは、fadeTo() の段階なしで最終的な不透明度に直接行くだけです。ここにjsfiddleがあります:http://jsfiddle.net/pPr9S/

4

2 に答える 2

1

コードを更新しました

キューの次のアニメーションを実際に終了させるため、stop から2 番目の trueを削除する必要があります。

var $topnavbar = $(".topbar,.navbar-fixed-top"),  
    $scrtop;  
 $(window).scroll(function () {
$scrtop = $(window).scrollTop();
if( $scrtop > 100 )
{
    $topnavbar.stop(true).fadeTo(500,.5);
} else {
    $topnavbar.stop(true).fadeTo(500,1);
}
});

$topnavbar.hover(function(){
$topnavbar.stop(true).fadeTo(500,1);
}, function(){
    $topnavbar.stop(true).fadeTo(500,.5);
});
于 2012-05-13T16:59:10.093 に答える
0

あなたの問題が何であるかわかりません。これを試してみてください。そうでない場合は、js http://jsfiddle.net/にhtmlコードを挿入してください。そうすれば、すぐに答えが得られます...

var $topnavbar = $(".topbar,.navbar-fixed-top"),
    $scrtop; $(window).scroll(function () {
    $scrtop = $(window).scrollTop();
    if( $scrtop > 100 )
    {
        $topnavbar.stop().fadeTo(4000,.5);
    } else {
        $topnavbar.stop().fadeTo(4000,1);
    } });

$topnavbar.hover(function(){
    $topnavbar.stop().fadeTo(4000,1); }, function(){
    $topnavbar.stop().fadeTo(4000,.5); });
于 2012-05-13T16:35:24.633 に答える