質問編集履歴

3

スライドショー完成イメージを追記

2017/02/19 10:08

投稿

Win7_TK
Win7_TK

スコア12

test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,36 @@
22
22
 
23
23
 
24
24
 
25
+ ###スライドショー完成イメージ
26
+
27
+ 0. image[0].jpgを表示する。
28
+
29
+ 0. image[0].jpgをdiv枠内で映画のエンドロールのように下から上へスクロールする。
30
+
31
+ 0. image[0].jpgが画像の一番下までスクロール完了後、フェードアウトする。
32
+
33
+ 0. image[1].jpgをフェードインする。
34
+
35
+ 0. 2秒後にimage[1].jpgをフェードアウトする。
36
+
37
+ 0. image[2].jpgをフェードインする。
38
+
39
+ 0. 2秒後にimage[2].jpgをフェードアウトする。
40
+
41
+ 0. image[3].jpgをフェードインする。
42
+
43
+ 0. 2秒後にimage[3].jpgをフェードアウトする。
44
+
45
+ 0. image[4].jpgをフェードインする。
46
+
47
+ 0. 2秒後にimage[4].jpgをフェードアウトする。
48
+
49
+ 0. image[5].jpgをフェードインする。
50
+
51
+ 0. 2秒後にimage[5].jpgをを表示させたままで、以降は何もしない。
52
+
53
+
54
+
25
55
  ###HTML
26
56
 
27
57
  ```
@@ -56,8 +86,6 @@
56
86
 
57
87
 
58
88
 
59
-
60
-
61
89
  ###jQuery
62
90
 
63
91
  ```

2

発生している問題を追記

2017/02/19 10:08

投稿

Win7_TK
Win7_TK

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,6 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- jQueryを使用しまして、1枚目の画像(image[0].jpg)は自動で縦スクロール、2枚目以降をフェードインさせたいのですが、
3
+ jQueryを使用しまして、1枚目の画像(image[0].jpg)は自動で縦スクロール、2枚目以降をフェードインさせたいのですが、プラグインを使用せず、縦スクロール、フェードインの両方を満たす様に自作することは可能でしょうか。
4
-
5
- プラグインを使用せず、縦スクロール、フェードインの両方を満たす様に自作することは可能でしょうか。
6
4
 
7
5
  画像はそれぞれ1回のみ表示させ、ループはしないよう考えています。
8
6
 
@@ -16,6 +14,14 @@
16
14
 
17
15
 
18
16
 
17
+ ###発生している問題
18
+
19
+ 縦スクロールをさせようと、animateを記述してみましたが、
20
+
21
+ 書き方が間違っているか、他に処理が必要なのかうまく動作しませんでした。
22
+
23
+
24
+
19
25
  ###HTML
20
26
 
21
27
  ```

1

jQueryの処理を追記

2017/02/19 05:27

投稿

Win7_TK
Win7_TK

スコア12

test CHANGED
File without changes
test CHANGED
@@ -12,13 +12,17 @@
12
12
 
13
13
 
14
14
 
15
+ ※現時点でのjQueryの処理を追記しました。
16
+
17
+
18
+
15
19
  ###HTML
16
20
 
17
21
  ```
18
22
 
19
- <div>
23
+ <div id="main_contents">
20
-
24
+
21
- <ul>
25
+ <ul class="slide_show_box">
22
26
 
23
27
  <!-- 画像を上から下に縦スクロール -->
24
28
 
@@ -43,3 +47,181 @@
43
47
  </div>
44
48
 
45
49
  ```
50
+
51
+
52
+
53
+
54
+
55
+ ###jQuery
56
+
57
+ ```
58
+
59
+ /**
60
+
61
+ * スライドショー処理
62
+
63
+ *
64
+
65
+ **/
66
+
67
+ $(document).ready(function(){
68
+
69
+ /**
70
+
71
+ * 定数定義
72
+
73
+ * スライドショービジネスロジック内で使用する定数
74
+
75
+ *
76
+
77
+ **/
78
+
79
+ interval = 4000; // スライドを切り替える間隔
80
+
81
+ slide_default_num = 1; // 画面初期表示時に表示するスライド番号
82
+
83
+ slide_star_num = 2; // スライドショー開始番号
84
+
85
+ slide_end_num = 5; // スライドショー終了番号
86
+
87
+
88
+
89
+ /**
90
+
91
+ * 画像の初期化
92
+
93
+ *
94
+
95
+ **/
96
+
97
+ init();
98
+
99
+ });
100
+
101
+
102
+
103
+ /**
104
+
105
+ * 画像の初期化
106
+
107
+ *
108
+
109
+ **/
110
+
111
+ function init() {
112
+
113
+ // すべての画像を非表示
114
+
115
+ $('.slide_show_box li').hide();
116
+
117
+
118
+
119
+ // 1番目の画像を表示
120
+
121
+ $('.slide_show_box li').eq(slide_default_num).show();
122
+
123
+ }
124
+
125
+
126
+
127
+ /**
128
+
129
+ * メイン処理
130
+
131
+ *
132
+
133
+ **/
134
+
135
+ function main() {
136
+
137
+ // 各項目
138
+
139
+ $('.slide_show_box li').hide(); // すべての画像を非表示
140
+
141
+ $('.slide_show_box li').eq(slide_star_num).show(); //最初の画像を表示
142
+
143
+
144
+
145
+ // 画像の縦スクロール
146
+
147
+ scroll_down();
148
+
149
+
150
+
151
+ // 次の画像を設定
152
+
153
+ slide_star_num++;
154
+
155
+
156
+
157
+ // 画像のフェードイン
158
+
159
+ setTimeout(slideShow, interval);
160
+
161
+ }
162
+
163
+
164
+
165
+ /**
166
+
167
+ * 画像の縦スクロール
168
+
169
+ *
170
+
171
+ **/
172
+
173
+ var scroll_y = 0;
174
+
175
+ function scroll_down() {
176
+
177
+ $('#slide_show_box li').eq(slide_star_num).animate({scrollTop: ++scroll_y}, 1000);
178
+
179
+ setTimeout('scroll_down()', 20);
180
+
181
+ }
182
+
183
+
184
+
185
+ /**
186
+
187
+ * 画像のフェードイン
188
+
189
+ *
190
+
191
+ **/
192
+
193
+ function slideShow() {
194
+
195
+ // 終了番号を超えた場合
196
+
197
+ if (slide_star_num > slide_end_num - 1) {
198
+
199
+ // スライドショーを終了
200
+
201
+ return;
202
+
203
+ }
204
+
205
+
206
+
207
+ $('.slide_show_box li').eq(slide_star_num - 1).delay(1500).fadeOut(3000).queue(function() {
208
+
209
+ // すべての画像を非表示
210
+
211
+ $('.slide_show_box li').hide();
212
+
213
+
214
+
215
+ $('.slide_show_box li').eq(slide_star_num).fadeIn(3000);
216
+
217
+ slide_star_num++;
218
+
219
+ });
220
+
221
+
222
+
223
+ setTimeout(slideShow, interval);
224
+
225
+ }
226
+
227
+ ```