2017-06-12 2 views
1

私は基本的に3つのdivに分かれているこのウェブサイトを構築しました。それらをスクロールするときにいくつかのアニメーションスクリプトを書きました。jqueryのページスクロールをブロックするtopScrollアニメーション

<div id="home"></div> 
<div id="portfolio"></div> 
<div id="about"></div> 

私はここで全体のデモがあります:あなたは明らかに「ポートフォリオ」にアニメーションの後に私のページを下にスクロールしていきませんDIVことがわかりますhttps://jsfiddle.net/7cv6zd1L/を。私はそれが上にスクロールしません同じ問題を抱えていましたが、私はここでそれを修正:

var lastScroll = $(window).scrollTop(); 
$(window).scroll(function() { 
       console.log(lastScroll); 
       var scrollTop = $(window).scrollTop(); 
       var divTop = $("#portfolio").offset().top; 
       if (scrollTop > lastScroll && scrollTop > $('body').height()/3) { 
        $('body').stop().animate({ 
        scrollTop: divTop 
        }, 50); 
       } 
       lastScroll = scrollTop; 
      }); 

私は少しの助けをいただければ幸いです、アニメーションとロジックのまわりで私の頭を包むように見えることはできません。

P.S.紛失した画像が混乱させないようにしてください。

EDIT:次のdivへの移行で上記と同じコードを使用したいと考えています。

+0

:これまで

if (scrollTop > lastScroll && scrollTop > $('body').height()/3) 

を? – Rafael

+0

@rafaelスクリプトを使ってウェブページを自由にスクロールすることもできます。デモを開いた場合、スクロールが特定のポイントでブロックされることがわかります。 。 –

+0

IF '$( 'ボディ')とは、(停止)({ \t \t \t \t \t \t scrollTopスプライト:divTop \t \t \t \t \t \t}、50)アニメーション; divTopが 'であるため'問題を引き起こしています。 #porfolio'オフセット。身体がその位置にスクロールしています。そのため、スクロールダウンできません。あなたはそこで何を達成しようとしていますか? –

答えて

1

あなただけのアニメーションの後、下にスクロールすることができるようにしたい場合は、この変更:あなたがここで達成しようとしているものを

if (scrollTop > lastScroll && scrollTop > $('body').height()/3 && scrollTop < divTop) 
+0

ありがとう、この1人の男をupvote ... –

+0

あなたは歓迎=)うまくいきました。 – Repo

関連する問題