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

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

新規登録して質問してみよう
ただいま回答率
85.46%
スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

581閲覧

scrollの量をみたいのですが、この記述だと反応しない原因を教えていただきたいです。

ShojiroAbe

総合スコア31

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/08/28 14:32

javascript

1$(function(){ 2 var height = $("html,body"); 3 4 height.scroll(function(){ 5 var y = $("this").scrollTop(); 6 console.log(y); 7 }); 8 9});

エラーは出てません
どの部分が間違いでしょうか?

ただ下記の場合だと
上下のスクロール量がスクロールする度に加算される形で数字が出ます
例:38undefind
と出ます
また、このundefindが何に対してのもの調べてもコレだというのも見つかりません

javascript

1 var $window = $(window); 2 3 $window.scroll(function(){ 4 var y = $("this").scrollTop(); 5 console.log(y); 6 }); 7 8 9});

後者のこの場合は何がいけないのでしょうか??

すいませんがどなたかよろしくお願いいたします

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

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

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

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

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

guest

回答1

0

ベストアンサー

2つのコード、どちらもそうなのですが、 $("this") という表記は期待と違ってthisというタグを探してしまっています。
期待しているのは、thisが示す要素なので、ダブルクオートで囲む必要はありません。(囲むと文字列になってしまい意味が変わってしまいます。

質問の答えですが、
前者のコードは、htmlタグの要素も、bodyタグの要素もscrollイベントを発火しないので中のコードが実行されないのでエラーも何も出ません。

後者のundefinedは、$("this") がundefinedだからだと思われます。
当方のFirefoxではスクロール量がでずに、ただのundefined表示でした。

html

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Document</title> 7 <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> 8</head> 9<body> 10 a<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 11 b<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 12 c<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 13 d<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 14 e<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 15 f<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 16 g<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 17 h<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 18 i<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 19 j<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 20 k<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 21 l<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 22 end 23<script> 24$(function(){ 25 var $window = $(window); 26 27 $window.scroll(function(){ 28 var y = $(this).scrollTop(); 29 console.log(y); 30 }); 31}); 32</script> 33</body> 34</html>

投稿2020/08/28 15:45

YakumoSaki

総合スコア2027

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

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

ShojiroAbe

2020/08/28 16:00

Yakumoさんの記述どうりthisの""を直したことで無事動きました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問