2016-09-20 6 views
0

Polymer 1.0ツールを使用してWebアプリケーションを構築していますが、特定のdivへのスムーズなスクロールを開始できません。私はこれをポリマーメソッドを使って成功させました。$。div.scrollIntoView()しかし、これはスクロールせずに特定のdivに移動するだけです。私はjQueryメソッドscrollTop()を使用したいと思いますが、この関数をどこで呼び出すか、そしてどのようにこの関数を紙面に貼り付けることができるのかわからないようです。ポリマー要素のdivへのスムーススクロール

<div align="center"> 
    <paper-fab icon="arrow-downward" id="fab" on-click="scrollToView"></paper-fab> 
</div> 

そして、ここでは、この特定のポリマー要素の下で私のスクリプトです:ここで私はこれまでにしたものである

<script> 
    Polymer({ 
     is: 'my-view', 
     scrollToView: function() { 
      this.$.parallax.scrollIntoView(false); 
     } 
    }); 
</script> 
<script type="text/javascript"> 
    function goToByScroll() { 
     $('html, body').animate({ 
      scrollTop: $("#section_one_cont").offset().top}, 'slow'); 
    } 
    $("#fab").click(function(e) { 
      goToByScroll(); 
    }) 
</script> 

だから、最初の「ポリマー」スクリプトは、実際の作業ではありませんでありません魅力的な方法で、jQueryスクリプトのみを使用しようとすると、何もしません。

これは私が使用しているjQueryのCDNです:任意およびすべてのヘルプは高く評価され

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 

、私は本当にそれが少数を開くと同じようにポリマー要素内の非ポリマースクリプトを使用する方法を見つけ出すしたいと思います私がこれで達成したいと思っているより多くのこと。前もって感謝します!

答えて

0

私は自分のプロジェクト(JQueryを必要としないものが望ましい)の解決策を見つけるのに数時間をかけていました。残念ながら、すべてのオプションにはひねりがあります。 scrollIntoViewで

scrollIntoView()

は、インスタント又は自動を平滑化するように設定することができる動作を定義することが可能です。 catchは、scrollIntoViewで定義されているscrollIntoViewOptionsはFirefoxでのみサポートされているということです。人で

element.scrollIntoView({block: "end", behavior: "smooth"}); 


scroll-behavior

私はこのソリューションを好むだろう。それは単純なCSSスニペットなので、 しかし、上の例と同様に、すべてのブラウザでサポートされているわけではありません。ChromeとOperaは、実験的なWebプラットフォーム機能を有効にしたときにのみ行います。 これは本当にユーザーを助けるものではありません。

scroll-behavior: smooth; 
+0

答えをいただきありがとうございます。私が提供している機能をすべて使用していないため、静的なページを作成しているので、Polymerを使いすぎてしまいました。それにもかかわらず、私はいつもこれを実現させるための洞察を感謝します。 –

関連する問題