2016-05-17 2 views
1

この問題は、フィドルで複製するのが少し複雑だと感じました。問題はhereです。私が固定部門にいる場合、スクロールトップを検出できません

ホームページでは、スクロールしてロゴをクリックするとうまくスクロールしますが、プロジェクトをクリックして同じことをしようとすると機能しません。私はそれがスクロールを検出することはできないと信じているプロジェクトがアクティブになっているので、含まれているdivが固定されているので、それは技術的には、

Javascriptを

$("a[href='#top']").click(function() { 
     $("html, body").animate({ scrollTop: 0 }, 700); 
     return false; 
}); 

#project { 
    position:fixed; 
    left:0; 
    width:100%; 
    height:100%; 

    opacity:0; 
    top:100%; 
    background: #efefed; 
    -webkit-transition-duration: 0.3s; 
    -moz-transition-duration: 0.3s; 
    -ms-transition-duration: 0.3s; 
    -o-transition-duration: 0.3s; 
    transition-duration: 0.3s; 

    transition-timing-function: ease-out; 
    -webkit-transition-timing-function: ease-out; 
} 
body.projectLoaded { 
    overflow: hidden; 
} 
body.projectLoaded #project { 
    opacity:1; 
    top:0; 
} 
#project-container { 
    overflow: auto; 
    position: relative; 
    height: 100%; 
    padding-top: 60px; 
} 

CSSは、まだ私はそれを望むようにこのjavascript関数を作成する方法はありますか?それが構築されている方法を知っているのは難しいかもしれません。 #fixme divでは、私はこれをやろうとしていたHow to make div fixed after you scroll to that div?と私は同じ理由で、なぜこれもうまくいかないと信じています。

更新: 解決策は、#プロジェクトコンテナをリスナーに追加することでした。ここで私はどうしますか?

var fixmeTop = $('.fixme').offset().top; 
$(window).scroll(function() { 
    var currentScroll = $(window).scrollTop(); 
    if (currentScroll >= fixmeTop) { 
     $('.fixme').css({ 
      position: 'fixed', 
      top: '0', 
      left: '0' 
     }); 
    } else { 
     $('.fixme').css({ 
      position: 'static' 
     }); 
    } 
}); 

(window, "#project-container")になりますか?

+1

id project-containerに別のリスナーを登録できますか?私は '$(" project-container ")'を変更して完全にうまくいったので尋ねます。または、プロジェクトが開かれているかどうかを確認し、それに応じて行動します。 –

+0

ありがとう、これは働いた! –

答えて

1
$("a[href='#top']").click(function() { 
     $("html, body, #project-container").animate({ scrollTop: 0 }, 700); 
     return false; 
}); 
+0

ブリリアント。これは、うまくいった! –

+0

私はこの答えを正しくマークしたことを知っています。私の2番目の問題は新しい質問を作成するにはあまりにも似ているように感じます。あなたの答えに基づいて、別のコードを示す私の質問を更新しました、私の提案は正しいですか? –

+0

詳しいことを教えてください。何がやらなければならないのでしょうか? – ezakto

関連する問題