質問編集履歴
1
コード具体化を試みます
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,39 +12,49 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
+
### 追記
|
16
|
+
|
17
|
+
ソースコード内に実行を試みたソースを追記しました。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
15
|
-
###
|
23
|
+
### ソースコード
|
16
24
|
|
17
25
|
```jquery
|
18
26
|
|
19
|
-
|
27
|
+
$(window).on('resize load scroll', function(){
|
20
28
|
|
21
|
-
var win_
|
29
|
+
var win_scr = $(window).scrollTop();
|
22
30
|
|
23
|
-
var
|
31
|
+
var win_h = $(window).height();
|
24
32
|
|
25
|
-
var elem
|
33
|
+
var elem = $('body').find('*'); //すべての要素が取得できることを確認
|
34
|
+
|
35
|
+
var elem_pos = elem.offset().top; //body内最初の子要素のoffsetTopを取得する .....課題1
|
26
36
|
|
27
37
|
|
28
38
|
|
29
|
-
//scrollで画面内の判定
|
39
|
+
//scrollで画面内の判定
|
30
40
|
|
31
|
-
if(elem_pos - win_h > win_scr) {
|
41
|
+
if(elem_pos - win_h > win_scr && elem_pos < win_h) { //elemが画面内に入ったとき、elem_posが画面の高さより小さいとき
|
32
42
|
|
33
|
-
//
|
43
|
+
//課題:このときのelem_posが取れないので判定ができず下記が実行されない
|
44
|
+
|
45
|
+
elem.each(function() { //elemに対して
|
46
|
+
|
47
|
+
var t = $(this); //win_h内に入った要素をthisに入れる .....課題2
|
48
|
+
|
49
|
+
t_tag = t[0].tagName; //DOMにしてtag名を取得
|
50
|
+
|
51
|
+
console.log(t_tag); //tag名を表示
|
52
|
+
|
53
|
+
}
|
54
|
+
|
55
|
+
}
|
34
56
|
|
35
57
|
}
|
36
|
-
|
37
|
-
```
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
### 試したこと
|
42
|
-
|
43
|
-
```
|
44
|
-
|
45
|
-
//すべての要素
|
46
|
-
|
47
|
-
$('body').find('*'); //全部のタグは取れたが、、
|
48
58
|
|
49
59
|
|
50
60
|
|
@@ -52,6 +62,14 @@
|
|
52
62
|
|
53
63
|
|
54
64
|
|
65
|
+
### 課題
|
66
|
+
|
67
|
+
課題1:elem_posを条件式に使いたいが、ここで取れるのはbodyの最初の要素だけ。
|
68
|
+
|
69
|
+
課題2:$(this)がwin_h内に入った要素を取得できていない
|
55
70
|
|
56
71
|
|
72
|
+
|
73
|
+
|
74
|
+
|
57
|
-
拙い説明ですが、
|
75
|
+
拙い説明ですが、よろしくお願いいたします。
|