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

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

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

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

AngularJS

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

Q&A

0回答

667閲覧

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

bobo

総合スコア45

CSS3

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

AngularJS

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

0グッド

0クリップ

投稿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}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/10/08 02:04

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問