質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Q&A

受付中

angularJS8でBodyScrollのイベントを取得したい

bobo
bobo

総合スコア35

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

0回答

0グッド

0クリップ

537閲覧

投稿2020/10/07 13:44

今AngularJS8.2を使って、よくある画面を下にスクロールした時に、画面トップに戻れる操作を実現したいと思ってます。

動作自体はscroll-behaviorを使い、下記で戻る動きは実現できているのですが、ブラウザ上にスクロールがあるか無いかで、下記のdiv(class="pagetop")の要素の表示非表示を切り替えたいと思ってます。

jQuery的な考えかも知れませんが、その為には画面全体にbodyに対してのScrollEventを取得し、動的に表示非表示判定を行わなければいけないと思うのですが、jQueryで書く所のこの様な取得の仕方は可能でしょうか?

$(window).scroll(function () {
var now = $(window).scrollTop();
console.log(now);
});

ググると、昔のVersionでは使われてた$anchorScrollは動作しない、ionicを使う様に書かれてたりしたのですが、実現は出来ないのでしょうか?

ご存知の方いらっしゃいましたらお答えいただければ幸いです。
(今後、キー操作のEventを同じ様に画面全体でEventを張って取らないといけない操作もあり、出来るだけJSの記述だけで完結させたいのが第一希望です)

HTML

1<div class="pagetop" style="display: block;"> 2 <a (click)="scrollToElement('top')"> 3 <i>トップへ</i> 4 </a> 5</div> 6

JS

1 scrollToElement(nav: string): void { 2 const element = document.querySelector("#"+nav) 3 if (element) element.scrollIntoView({ behavior: 'smooth', block: 'start' }) 4 }

CSS

1body { 2 scroll-behavior: smooth; 3}

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

miyabi_takatsuk

2020/10/08 02:04

まず、AngularJSに8.2というバージョンは存在しませんので、質問タグの付け替えをお願いします。 (Angularには8.2は存在し、AngularJSと、Angularは互換性がないほとんど別のフレームワークです) また、該当のscrollToElementを定義している、 コンポーネントファイルの、全内容を記載いただけないでしょうか。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。