500 Internal Server Error
変数 = window.scrollY
簡単ですね!あとは、どのタイミングで取得するかの設定を行うだけです。
環境とバージョンについて
- mac OS 11.2.3
- エディタ VSCode
- node v14.8.0
Node.js — Run JavaScript EverywhereNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. - npm 6.14.7
npm | Home
スクロールの位置を取得する方法
data() {
return {
scrollY: 0,
}
},
methods: {
getScroll() {
this.scrollY = window.scrollY
}
}
現在のスクロール位置を表示するために、dataを準備し、次に関係を準備し用意したdataにスクロールの位置を代入します。
ただ上記だけだと、どこでも関数を呼び出していないので、スクロールの位置を取得することができません。
なので、スクロールのするたびに関数を呼びだす処理を追記しましょう。
mounted() {
window.addEventListener("scroll", this.getScroll)
},
mountedの中に、スクロールをするたびに関数を呼び出すようにしています。
取得した値を表示する方法
htmlについてはpugを使用しているので、コピペしたい人は下記のサイトでhtmlへ変換して使ってください。
また、nuxtでpugを使用したい人については別の記事でまとめているので参考にしてみてください。
div
.scroll-position スクロール位置の取得 : {{ scrollY }}
表示に必要なのはこれだけです。
関数で取得したものをdataに代入し、代入した値を表示させる流れになってます。
上記はcssをつけていないので、このまま使うとスクロールができないのでスクロール位置の取得ができませんので、スタイルの調整を行ってください。
表示を確認して、スクロール位置が表示されていれば完成です。
全体のコード
まとめ
vueを使うことで簡単にスクロール位置の取得をすることができます。
今回はスクロールするたびに位置を取得しましたが、スクロールするたびに、関数を呼び出すとサイトが重たくなったりするので、臨機応変に使い分けることをお勧めします。
コメント