1. ホーム
  2. javascript

[解決済み] AngularJS - $anchorScroll スムーズ/持続時間

2022-10-06 17:19:52

質問

を読む AngularJSのドキュメントを読む を理解できていません。 $anchorScroll が要素へのスムーズなスクロールのための継続時間/緩和オプションを持つことができるかどうか、わかっていません。

としか書いてない。

$location.hash('bottom');

// call $anchorScroll()
$anchorScroll();

私はjqueryを使いませんし、使いたくもありません。 $anchorScroll を拡張して、スクロールをよりスムーズにするような、簡単な方法はありませんか?

どのように解決するのですか?

残念ながら、これは $anchorScroll . あなたが発見したように $anchorScroll には何もオプションがなく、また $ngAnimate . スクロールをアニメーション化するためには、独自のサービス/ファクトリを使用するか、または単に直接javascriptを使用する必要があります。

自己学習のために、私は滑らかなスクロールのサービスの例をまとめました。おそらく、これを行うにはより良い方法があるので、任意のフィードバックが奨励されます。

ある要素にスクロールするために ng-click="gotoElement(ID)" を任意の要素に付加します。これをディレクティブにするのがより良い方法だと思います。

ここでは の動作例を jsFiddle で見てみましょう。 .

更新

現在、これを実現するためのサードパーティ製のディレクティブが多数存在します。