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 16:00