質問するログイン新規登録

質問編集履歴

3

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

2017/02/19 10:08

投稿

Win7_TK
Win7_TK

スコア12

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,21 @@
10
10
  縦スクロールをさせようと、animateを記述してみましたが、
11
11
  書き方が間違っているか、他に処理が必要なのかうまく動作しませんでした。
12
12
 
13
+ ###スライドショー完成イメージ
14
+ 0. image[0].jpgを表示する。
15
+ 0. image[0].jpgをdiv枠内で映画のエンドロールのように下から上へスクロールする。
16
+ 0. image[0].jpgが画像の一番下までスクロール完了後、フェードアウトする。
17
+ 0. image[1].jpgをフェードインする。
18
+ 0. 2秒後にimage[1].jpgをフェードアウトする。
19
+ 0. image[2].jpgをフェードインする。
20
+ 0. 2秒後にimage[2].jpgをフェードアウトする。
21
+ 0. image[3].jpgをフェードインする。
22
+ 0. 2秒後にimage[3].jpgをフェードアウトする。
23
+ 0. image[4].jpgをフェードインする。
24
+ 0. 2秒後にimage[4].jpgをフェードアウトする。
25
+ 0. image[5].jpgをフェードインする。
26
+ 0. 2秒後にimage[5].jpgをを表示させたままで、以降は何もしない。
27
+
13
28
  ###HTML
14
29
  ```
15
30
  <div id="main_contents">
@@ -27,7 +42,6 @@
27
42
  </div>
28
43
  ```
29
44
 
30
-
31
45
  ###jQuery
32
46
  ```
33
47
  /**

2

発生している問題を追記

2017/02/19 10:08

投稿

Win7_TK
Win7_TK

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,15 @@
1
1
  ###前提・実現したいこと
2
- jQueryを使用しまして、1枚目の画像(image[0].jpg)は自動で縦スクロール、2枚目以降をフェードインさせたいのですが、
2
+ jQueryを使用しまして、1枚目の画像(image[0].jpg)は自動で縦スクロール、2枚目以降をフェードインさせたいのですが、プラグインを使用せず、縦スクロール、フェードインの両方を満たす様に自作することは可能でしょうか。
3
- プラグインを使用せず、縦スクロール、フェードインの両方を満たす様に自作することは可能でしょうか。
4
3
  画像はそれぞれ1回のみ表示させ、ループはしないよう考えています。
5
4
  1枚目の画像(image[0].jpg)は、他の画像より高さが長いものになります。
6
5
  こちらに関し、わかる方いましたら、ご教授のほどよろしくお願いします。
7
6
 
8
7
  ※現時点でのjQueryの処理を追記しました。
9
8
 
9
+ ###発生している問題
10
+ 縦スクロールをさせようと、animateを記述してみましたが、
11
+ 書き方が間違っているか、他に処理が必要なのかうまく動作しませんでした。
12
+
10
13
  ###HTML
11
14
  ```
12
15
  <div id="main_contents">

1

jQueryの処理を追記

2017/02/19 05:27

投稿

Win7_TK
Win7_TK

スコア12

title CHANGED
File without changes
body CHANGED
@@ -5,10 +5,12 @@
5
5
  1枚目の画像(image[0].jpg)は、他の画像より高さが長いものになります。
6
6
  こちらに関し、わかる方いましたら、ご教授のほどよろしくお願いします。
7
7
 
8
+ ※現時点でのjQueryの処理を追記しました。
9
+
8
10
  ###HTML
9
11
  ```
10
- <div>
12
+ <div id="main_contents">
11
- <ul>
13
+ <ul class="slide_show_box">
12
14
  <!-- 画像を上から下に縦スクロール -->
13
15
  <li><img src="./img/image[0].jpg" /></li>
14
16
 
@@ -20,4 +22,93 @@
20
22
  <li><img src="./img/image[5].jpg" /></li>
21
23
  </ul>
22
24
  </div>
25
+ ```
26
+
27
+
28
+ ###jQuery
29
+ ```
30
+ /**
31
+ * スライドショー処理
32
+ *
33
+ **/
34
+ $(document).ready(function(){
35
+ /**
36
+ * 定数定義
37
+ * スライドショービジネスロジック内で使用する定数
38
+ *
39
+ **/
40
+ interval = 4000; // スライドを切り替える間隔
41
+ slide_default_num = 1; // 画面初期表示時に表示するスライド番号
42
+ slide_star_num = 2; // スライドショー開始番号
43
+ slide_end_num = 5; // スライドショー終了番号
44
+
45
+ /**
46
+ * 画像の初期化
47
+ *
48
+ **/
49
+ init();
50
+ });
51
+
52
+ /**
53
+ * 画像の初期化
54
+ *
55
+ **/
56
+ function init() {
57
+ // すべての画像を非表示
58
+ $('.slide_show_box li').hide();
59
+
60
+ // 1番目の画像を表示
61
+ $('.slide_show_box li').eq(slide_default_num).show();
62
+ }
63
+
64
+ /**
65
+ * メイン処理
66
+ *
67
+ **/
68
+ function main() {
69
+ // 各項目
70
+ $('.slide_show_box li').hide(); // すべての画像を非表示
71
+ $('.slide_show_box li').eq(slide_star_num).show(); //最初の画像を表示
72
+
73
+ // 画像の縦スクロール
74
+ scroll_down();
75
+
76
+ // 次の画像を設定
77
+ slide_star_num++;
78
+
79
+ // 画像のフェードイン
80
+ setTimeout(slideShow, interval);
81
+ }
82
+
83
+ /**
84
+ * 画像の縦スクロール
85
+ *
86
+ **/
87
+ var scroll_y = 0;
88
+ function scroll_down() {
89
+ $('#slide_show_box li').eq(slide_star_num).animate({scrollTop: ++scroll_y}, 1000);
90
+ setTimeout('scroll_down()', 20);
91
+ }
92
+
93
+ /**
94
+ * 画像のフェードイン
95
+ *
96
+ **/
97
+ function slideShow() {
98
+ // 終了番号を超えた場合
99
+ if (slide_star_num > slide_end_num - 1) {
100
+ // スライドショーを終了
101
+ return;
102
+ }
103
+
104
+ $('.slide_show_box li').eq(slide_star_num - 1).delay(1500).fadeOut(3000).queue(function() {
105
+ // すべての画像を非表示
106
+ $('.slide_show_box li').hide();
107
+
108
+ $('.slide_show_box li').eq(slide_star_num).fadeIn(3000);
109
+ slide_star_num++;
110
+ });
111
+
112
+ setTimeout(slideShow, interval);
113
+ }
23
114
  ```