質問編集履歴

4

イベント部分をより具体的なコードで記載。

2017/01/03 13:18

投稿

yk32
yk32

スコア13

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,13 @@
20
20
 
21
21
 
22
22
 
23
+ ※下記のスクリプトはテスト的に画面領域に入ったら本来の画像を表示、入っていなければダミー画像となるようにしています。
24
+
25
+ こちらは見た目は希望する動作なのですが、実際のところはページを表示した瞬間からすべての画像を読み込もうとしてまっております。
26
+
27
+
28
+
23
- ご教授お願い致します。
29
+ ご教授お願い頂けますと幸いでございます
24
30
 
25
31
 
26
32
 
@@ -46,16 +52,6 @@
46
52
 
47
53
  var item=100;
48
54
 
49
-
50
-
51
- for (i=1 ; i<=item ; i++){
52
-
53
- document.write('<dt class="list' + i + '"></dt>');
54
-
55
- }
56
-
57
-
58
-
59
55
  var ar = new Array(300) ;
60
56
 
61
57
 
@@ -74,15 +70,43 @@
74
70
 
75
71
  var name = resArray[0];
76
72
 
77
-
73
+
78
74
 
75
+ $('dt.list'+ total).on('inview', function(event, isInView, visiblePartX, visiblePartY) {
76
+
77
+ if (isInView) {
78
+
79
+ //スクロールするとtrueが返ってきているので画面領域に入ったことは感知している様子
80
+
81
+ //本来表示したい画像
82
+
79
- $("dt.list" + total).html('<font size="0.1px" style="vertical-align: middle;">' + name +
83
+ $("dt.list" + total).html('<font size="0.1px" style="vertical-align: middle;">' + name +
80
84
 
81
85
  '</font><a href=#' + ' id="' + total + '" title="' + data +
82
86
 
83
- '" onclick="return users(this)"><img class="lazy" src="white.gif" data-original="' + total + '.jpg"></a >');
87
+ '" onclick="return users(this)"><img class="lazy" src="' + total + '.jpg"></a >');
84
88
 
89
+
90
+
85
-
91
+ }else{
92
+
93
+ //サイズの小さいダミー画像
94
+
95
+ $("dt.list" + total).html('<font size="0.1px" style="vertical-align: middle;">' + name +
96
+
97
+ '</font><a href=#' + ' id="' + total + '" title="' + data +
98
+
99
+ '" onclick="return users(this)"><img class="lazy" src="' + dammy + '.jpg"></a >');
100
+
101
+
102
+
103
+
104
+
105
+ }
106
+
107
+
108
+
109
+
86
110
 
87
111
  });
88
112
 
@@ -92,29 +116,13 @@
92
116
 
93
117
  for (i=1 ; i<=item ; i++){
94
118
 
119
+ document.write('<dt class="list' + i + '"></dt>');
120
+
95
121
  getUserImages(i); //外部テキストと画像を表示する
96
122
 
97
123
  }
98
124
 
99
125
 
100
-
101
- $(function() {
102
-
103
-
104
-
105
- $('[class^=list]').on('inview',function(event, isInView, visiblePartX, visiblePartY){
106
-
107
- if (isInView) {
108
-
109
- console.log(isInView);
110
-
111
- //スクロールするとtrueが返ってきているので画面領域に入ったことは感知している様子
112
-
113
- }
114
-
115
- });
116
-
117
- });
118
126
 
119
127
 
120
128
 

3

イベント部分の表記追加

2017/01/03 13:17

投稿

yk32
yk32

スコア13

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,17 @@
10
10
 
11
11
  似たようなものでjQuery Inviewというものを見つけましたがそちらも同様に希望する動作にはなりません。
12
12
 
13
+
14
+
13
- どのようイベントを呼び出べきなのでしょうか
15
+ スクロールすると画面領域入ったことは感知しております。
16
+
17
+ しかしlist(i)のクラス属性を持ったdtタグの内側に書き込んだimg要素の指定、
18
+
19
+ data-originalの取得とsrcの内容を本来の画像に書き換える方法がわかりません。
14
20
 
15
21
 
16
22
 
17
- 以上、何卒宜しくお願い致します。
23
+ ご教授お願い致します。
18
24
 
19
25
 
20
26
 
@@ -90,8 +96,36 @@
90
96
 
91
97
  }
92
98
 
99
+
100
+
101
+ $(function() {
102
+
103
+
104
+
105
+ $('[class^=list]').on('inview',function(event, isInView, visiblePartX, visiblePartY){
106
+
107
+ if (isInView) {
108
+
109
+ console.log(isInView);
110
+
111
+ //スクロールするとtrueが返ってきているので画面領域に入ったことは感知している様子
112
+
113
+ }
114
+
115
+ });
116
+
117
+ });
118
+
119
+
120
+
93
121
  </script>
94
122
 
95
- </body>
123
+ </body>
124
+
125
+
126
+
127
+
128
+
129
+
96
130
 
97
131
  ```

2

説明文の修正

2017/01/03 07:43

投稿

yk32
yk32

スコア13

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
  下記のスクリプトにて表示させているものに対してJQueryのLazyLoadを実装しましたが、
6
6
 
7
- エフェクト自体は全体にかかるものの、ダミー画像の置換くいきません。
7
+ エフェクト自体は全体にかかるものの、既に全画像が読み込れており、
8
+
9
+ 表示領域に入ったら本来の画像を表示するダミー画像の置換がうまくいきません。
8
10
 
9
11
  似たようなものでjQuery Inviewというものを見つけましたがそちらも同様に希望する動作にはなりません。
10
12
 

1

誤字の修正

2017/01/03 04:17

投稿

yk32
yk32

スコア13

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  似たようなものでjQuery Inviewというものを見つけましたがそちらも同様に希望する動作にはなりません。
10
10
 
11
- どのようにイベントを呼び出し出すべきなのでしょうか。
11
+ どのようにイベントを呼び出すべきなのでしょうか。
12
12
 
13
13
 
14
14