質問編集履歴

1

大幅な編集

2017/03/26 03:45

投稿

revoiot
revoiot

スコア188

test CHANGED
File without changes
test CHANGED
@@ -1,20 +1,40 @@
1
+ jQuery最高の教科書という本から引っ張ってきたjQueryのプラグインを利用して、スライドショーを作りたいのですが、
2
+
3
+
4
+
5
+ 「インジケーター」と「ナビの矢印」の位置の設定の仕方が分からず困っています。
6
+
7
+
8
+
9
+ 「インジケーター」と「ナビの矢印」がなぜかfloatなど使ってもいないのに、画像1を見てわかるように、上に方に配置されてしまいます。
10
+
11
+ **画像1**
12
+
13
+ ![イメージ説明](37f40ef95b2e8ac1dd55294aaf955780.png)
14
+
15
+
16
+
17
+
18
+
1
- 今、本から引っ張ってきたjQueryプラグインを利用して、スライドショーを作りたいのですが、「スライドショー」と「イジケーター」と「ナビの矢印」の位の設定の仕方が分からず困っています。画像を見ていだくとわかると思ますが、「インジケーター」「ナビの矢印」の場所がごちゃごちゃになっていて、なぜかスライドショーが左端に寄ってしってします。
19
+ 画像2Rankingの上にあるものが、スライドショーです。このスライドショーの左右にナビボタを、真下にナビゲーターを配たいと考えています。
20
+
21
+
22
+
2
-
23
+ **画像2**
3
-
4
-
24
+
5
- cssのさらなる抜粋で下記のように、ナビボタンのmarginを設定したものがありますが、marginのpxをいじっても、うまく位置調整できず困っています。ナビボタンの位置調整を行うにあたって、chromedevelopertoolをつかっていますが、矢印が急に見えなくなったり、自分の思うようにボタンが移動しなかったりします。
25
+ ![イメージ説明](f1a4cd65302ca10f9a274375a2ea21df.png)
26
+
27
+
28
+
29
+
30
+
31
+
6
32
 
7
33
 
8
34
 
9
35
  質問
10
36
 
11
- ・今回の問題で、複雑なmarginのコードのcssの中でナビボタンの位置調整をするために、chromeのdevelopertoolを使う際、どのようなことに気を付ければ、うまく位置調整できるでしょうか?
12
-
13
-
14
-
15
- ・スライドショーが左端くっついていま、どのよすれば、真ん中に配置することが可能でしょうか?
37
+ 上に飛ばされてしまった「インジケーター」と「ナビの矢印」をスライドショーの規定の位置配置るには、どうすればいいでしょうか?
16
-
17
- (cssに、text-align:center;やalign:center;を.slideshow、.slideshow-slidesに入れても効果はありませんでした。)
18
38
 
19
39
 
20
40
 
@@ -28,8 +48,6 @@
28
48
 
29
49
  念のため、いかに私のwebsiteのURLを添付させていただきます。
30
50
 
31
-
32
-
33
51
  [URL](http://co-712.it.3919.com)
34
52
 
35
53
 
@@ -42,10 +60,132 @@
42
60
 
43
61
 
44
62
 
63
+
64
+
65
+
66
+
45
- **CSSのさらなる抜粋**
67
+ **HTML**
46
68
 
47
69
  ```ここに言語を入力
48
70
 
71
+ <div class="slideshow">
72
+
73
+ <div class="slideshow-slides">
74
+
75
+ <a href="#" class="slide"><img src="box img/box slide/slide-1.gif" alt=""></a>
76
+
77
+ <a href="#" class="slide"><img src="box img/box slide/slide-2.gif" alt=""></a>
78
+
79
+ <a href="#" class="slide"><img src="box img/box slide/slide-3.gif" alt=""></a>
80
+
81
+ <a href="#" class="slide"><img src="box img/box slide/slide-4.gif" alt=""></a>
82
+
83
+ </div>
84
+
85
+ <div class="slideshow-nav">
86
+
87
+ <a href="#" class="prev"><img src="box img/box slide/arrow-L.gif" alt=""></a>
88
+
89
+ <a href="#" class="next"><img src="box img/box slide/arrow-R.gif" alt=""></a>
90
+
91
+ </div>
92
+
93
+ <div class="slideshow-indicator"></div>
94
+
95
+ </div>
96
+
97
+ コード
98
+
99
+ ```
100
+
101
+ **CSS**
102
+
103
+ ```ここに言語を入力
104
+
105
+ .slideshow {
106
+
107
+ width:160px;
108
+
109
+ height:88px;
110
+
111
+ overflow: hidden;
112
+
113
+ text-align: center;
114
+
115
+ color:rgb(52, 75, 153);
116
+
117
+ }
118
+
119
+
120
+
121
+ .slideshow-slides {
122
+
123
+ width: 100%;
124
+
125
+ height: 100%;
126
+
127
+ position: absolute;
128
+
129
+ color:rgb(52, 75, 153);
130
+
131
+
132
+
133
+ /* left は JavaScript で指定 */
134
+
135
+ }
136
+
137
+
138
+
139
+ .slideshow-slides .slide {
140
+
141
+ width: 100%;
142
+
143
+ height: 100%;
144
+
145
+ overflow: hidden;
146
+
147
+ position: absolute;
148
+
149
+ color:rgb(52, 75, 153);
150
+
151
+
152
+
153
+ /* left は JavaScript で指定 */
154
+
155
+ }
156
+
157
+
158
+
159
+ .slideshow-slides .slide img {
160
+
161
+ width:160px;
162
+
163
+ height:88px;
164
+
165
+ left: 50%;
166
+
167
+ margin-left: -80px;
168
+
169
+ position: absolute;
170
+
171
+ color:rgb(52, 75, 153);
172
+
173
+
174
+
175
+ }
176
+
177
+ .slideshow-nav a:before{
178
+
179
+ display: inline-block;
180
+
181
+ font-size: 0;
182
+
183
+ line-height: 0;
184
+
185
+ }
186
+
187
+
188
+
49
189
  .slideshow-nav a {
50
190
 
51
191
  position: absolute;
@@ -54,37 +194,169 @@
54
194
 
55
195
  left: 50%;
56
196
 
57
- width: 100px;
197
+ width: 10px;
58
-
198
+
59
- height: 100px;
199
+ height: 10px;
60
200
 
61
201
  margin-top: -10px;
62
202
 
63
203
  }
64
204
 
205
+
206
+
65
207
  .slideshow-nav a.prev {
66
208
 
209
+ margin-left: 0px;
210
+
211
+ }
212
+
213
+
214
+
215
+ .slideshow-nav a.prev:before {
216
+
217
+ margin-top: -20px;
218
+
219
+ }
220
+
221
+
222
+
223
+ .slideshow-nav a.next {
224
+
67
225
  margin-left: 10px;
68
226
 
69
227
  }
70
228
 
229
+
230
+
71
- .slideshow-nav a.prev:before {
231
+ .slideshow-nav a.next:before {
232
+
233
+ margin-left: 10px;
72
234
 
73
235
  margin-top: -20px;
74
236
 
75
237
  }
76
238
 
239
+
240
+
77
- .slideshow-nav a.next {
241
+ .slideshow-nav a.disabled {
78
-
242
+
79
- margin-right: 100px;
243
+ display: none;
80
-
244
+
81
- }
245
+ }
246
+
247
+
248
+
82
-
249
+ .slideshow-indicator {
250
+
251
+ bottom: 30px;
252
+
253
+ height: 16px;
254
+
255
+ left: 0;
256
+
257
+ position: absolute;
258
+
259
+ right: 0;
260
+
261
+ text-align: center;
262
+
263
+ }
264
+
265
+
266
+
267
+
268
+
269
+ .slideshow-indicator a {
270
+
271
+ background-color: rgba(0, 0, 0, 0); /* for IE9 */
272
+
273
+ overflow: hidden;
274
+
275
+ display: inline-block;
276
+
277
+ width: 16px;
278
+
279
+ height: 16px;
280
+
281
+ margin-left: 3px;
282
+
283
+ margin-right: 3px;
284
+
285
+ margin-top:40px;
286
+
287
+ }
288
+
289
+
290
+
291
+ .slideshow-indicator a.active {
292
+
293
+ cursor: default;
294
+
295
+ }
296
+
297
+
298
+
83
- .slideshow-nav a.next:before {
299
+ .slideshow-indicator a:before {
300
+
84
-
301
+ display: inline-block;
302
+
303
+ font-size: 0;
304
+
305
+ line-height: 0;
306
+
85
- margin-left: 100px;
307
+ margin-left: -110px;
308
+
86
-
309
+ }
310
+
311
+
312
+
313
+ .slideshow-indicator a.active:before {
314
+
87
- margin-top: -20px;
315
+ margin-left: -130px;
316
+
317
+ }
318
+
319
+
320
+
321
+ /* JavsScript 無効時 */
322
+
323
+ .no-js .slideshow {
324
+
325
+ height: auto;
326
+
327
+ }
328
+
329
+ .no-js .slideshow-slides {
330
+
331
+ height: auto;
332
+
333
+ position: static;
334
+
335
+ }
336
+
337
+ .no-js .slideshow-slides .slide {
338
+
339
+ display: block;
340
+
341
+ height: auto;
342
+
343
+ position: static;
344
+
345
+ }
346
+
347
+ .no-js .slideshow-slides .slide img {
348
+
349
+ margin: auto;
350
+
351
+ position: static;
352
+
353
+ }
354
+
355
+ .no-js .slideshow-nav,
356
+
357
+ .no-js .slideshow-indicator {
358
+
359
+ display: none;
88
360
 
89
361
  }
90
362
 
@@ -94,470 +366,280 @@
94
366
 
95
367
 
96
368
 
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
- ![イメージ説明](eefc0c782a688b65698c66a94f9dd9b1.png)
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
- **HTML**
369
+ **JS**
116
370
 
117
371
  ```ここに言語を入力
118
372
 
119
- <div class="slideshow">
120
-
121
- <div class="slideshow-slides">
122
-
123
- <a href="#" class="slide"><img src="box img/box slide/slide-1.gif" alt=""></a>
124
-
125
- <a href="#" class="slide"><img src="box img/box slide/slide-2.gif" alt=""></a>
126
-
127
- <a href="#" class="slide"><img src="box img/box slide/slide-3.gif" alt=""></a>
128
-
129
- <a href="#" class="slide"><img src="box img/box slide/slide-4.gif" alt=""></a>
130
-
131
- </div>
132
-
133
- <div class="slideshow-nav">
134
-
135
- <a href="#" class="prev"><img src="box img/box slide/arrow-L.gif" alt=""></a>
136
-
137
- <a href="#" class="next"><img src="box img/box slide/arrow-R.gif" alt=""></a>
138
-
139
- </div>
140
-
141
- <div class="slideshow-indicator"></div>
142
-
143
- </div>
144
-
145
- コード
373
+ $(function () {
374
+
375
+
376
+
377
+ /*
378
+
379
+ * Slideshow
380
+
381
+ */
382
+
383
+ $('.slideshow').each(function () {
384
+
385
+
386
+
387
+ // 変数の準備
388
+
389
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
390
+
391
+
392
+
393
+ var $container = $(this), // a
394
+
395
+ $slideGroup = $container.find('.slideshow-slides'), // b
396
+
397
+ $slides = $slideGroup.find('.slide'), // c
398
+
399
+ $nav = $container.find('.slideshow-nav'), // d
400
+
401
+ $indicator = $container.find('.slideshow-indicator'), // e
402
+
403
+ // スライドショー内の各要素の jQuery オブジェクト
404
+
405
+ // a スライドショー全体のコンテナー
406
+
407
+ // b 全スライドのまとまり (スライドグループ)
408
+
409
+ // c 各スライド
410
+
411
+ // d ナビゲーション (Prev/Next)
412
+
413
+ // e インジケーター (ドット)
414
+
415
+
416
+
417
+ slideCount = $slides.length, // スライドの点数
418
+
419
+ indicatorHTML = '', // インジケーターのコンテンツ
420
+
421
+ currentIndex = 0, // 現在のスライドのインデックス
422
+
423
+ duration = 500, // 次のスライドへのアニメーションの所要時間
424
+
425
+ easing = 'easeInOutExpo', // 次のスライドへのアニメーションのイージングの種類
426
+
427
+ interval = 7500, // 自動で次のスライドに移るまでの時間
428
+
429
+ timer; // タイマーの入れ物
430
+
431
+
432
+
433
+
434
+
435
+ // HTML 要素の配置、生成、挿入
436
+
437
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
438
+
439
+
440
+
441
+ // 各スライドの位置を決定し、
442
+
443
+ // 対応するインジケーターのアンカーを生成
444
+
445
+ $slides.each(function (i) {
446
+
447
+ $(this).css({ left: 100 * i + '%' });
448
+
449
+ indicatorHTML += '<a href="#">' + (i + 1) + '</a>';
450
+
451
+ });
452
+
453
+
454
+
455
+ // インジケーターにコンテンツを挿入
456
+
457
+ $indicator.html(indicatorHTML);
458
+
459
+
460
+
461
+
462
+
463
+ // 関数の定義
464
+
465
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
466
+
467
+
468
+
469
+ // 任意のスライドを表示する関数
470
+
471
+ function goToSlide (index) {
472
+
473
+ // スライドグループをターゲットの位置に合わせて移動
474
+
475
+ $slideGroup.animate({ left: - 100 * index + '%' }, duration, easing);
476
+
477
+ // 現在のスライドのインデックスを上書き
478
+
479
+ currentIndex = index;
480
+
481
+ // ナビゲーションとインジケーターの状態を更新
482
+
483
+ updateNav();
484
+
485
+ }
486
+
487
+
488
+
489
+ // スライドの状態に応じてナビゲーションとインジケーターを更新する関数
490
+
491
+ function updateNav () {
492
+
493
+ var $navPrev = $nav.find('.prev'), // Prev (戻る) リンク
494
+
495
+ $navNext = $nav.find('.next'); // Next (進む) リンク
496
+
497
+ // もし最初のスライドなら Prev ナビゲーションを無効に
498
+
499
+ if (currentIndex === 0) {
500
+
501
+ $navPrev.addClass('disabled');
502
+
503
+ } else {
504
+
505
+ $navPrev.removeClass('disabled');
506
+
507
+ }
508
+
509
+ // もし最後のスライドなら Next ナビゲーションを無効に
510
+
511
+ if (currentIndex === slideCount - 1) {
512
+
513
+ $navNext.addClass('disabled');
514
+
515
+ } else {
516
+
517
+ $navNext.removeClass('disabled');
518
+
519
+ }
520
+
521
+ // 現在のスライドのインジケーターを無効に
522
+
523
+ $indicator.find('a').removeClass('active')
524
+
525
+ .eq(currentIndex).addClass('active');
526
+
527
+ }
528
+
529
+
530
+
531
+ // タイマーを開始する関数
532
+
533
+ function startTimer () {
534
+
535
+ // 変数 interval で設定した時間が経過するごとに処理を実行
536
+
537
+ timer = setInterval(function () {
538
+
539
+ // 現在のスライドのインデックスに応じて次に表示するスライドの決定
540
+
541
+ // もし最後のスライドなら最初のスライドへ
542
+
543
+ var nextIndex = (currentIndex + 1) % slideCount;
544
+
545
+ goToSlide(nextIndex);
546
+
547
+ }, interval);
548
+
549
+ }
550
+
551
+
552
+
553
+ // タイマーを停止る関数
554
+
555
+ function stopTimer () {
556
+
557
+ clearInterval(timer);
558
+
559
+ }
560
+
561
+
562
+
563
+
564
+
565
+ // インベントの登録
566
+
567
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
568
+
569
+
570
+
571
+ // ナビゲーションのリンクがクリックされたら該当するスライドを表示
572
+
573
+ $nav.on('click', 'a', function (event) {
574
+
575
+ event.preventDefault();
576
+
577
+ if ($(this).hasClass('prev')) {
578
+
579
+ goToSlide(currentIndex - 1);
580
+
581
+ } else {
582
+
583
+ goToSlide(currentIndex + 1);
584
+
585
+ }
586
+
587
+ });
588
+
589
+
590
+
591
+ // インジケーターのリンクがクリックされたら該当するスライドを表示
592
+
593
+ $indicator.on('click', 'a', function (event) {
594
+
595
+ event.preventDefault();
596
+
597
+ if (!$(this).hasClass('active')) {
598
+
599
+ goToSlide($(this).index());
600
+
601
+ }
602
+
603
+ });
604
+
605
+
606
+
607
+ // マウスが乗ったらタイマーを停止、はずれたら開始
608
+
609
+ $container.on({
610
+
611
+ mouseenter: stopTimer,
612
+
613
+ mouseleave: startTimer
614
+
615
+ });
616
+
617
+
618
+
619
+
620
+
621
+ // スライドショーの開始
622
+
623
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
624
+
625
+
626
+
627
+ // 最初のスライドを表示
628
+
629
+ goToSlide(currentIndex);
630
+
631
+
632
+
633
+ // タイマーをスタート
634
+
635
+ startTimer();
636
+
637
+
638
+
639
+ });
640
+
641
+
642
+
643
+ });
146
644
 
147
645
  ```
148
-
149
- **CSS**
150
-
151
- ```ここに言語を入力
152
-
153
- .slideshow {
154
-
155
- width:160px;
156
-
157
- height:88px;
158
-
159
- overflow: hidden;
160
-
161
- position: relative;
162
-
163
- }
164
-
165
-
166
-
167
- .slideshow-slides {
168
-
169
- height: 100%;
170
-
171
- position: absolute;
172
-
173
- width: 100%;
174
-
175
- /* left は JavaScript で指定 */
176
-
177
- }
178
-
179
- .slideshow-slides .slide {
180
-
181
- height: 100%;
182
-
183
- overflow: hidden;
184
-
185
- position: absolute;
186
-
187
- width: 100%;
188
-
189
- /* left は JavaScript で指定 */
190
-
191
- }
192
-
193
- .slideshow-slides .slide img {
194
-
195
- left: 50%;
196
-
197
- margin-left: -80px;
198
-
199
- position: absolute;
200
-
201
- width:160px;
202
-
203
- height:88px;
204
-
205
- }
206
-
207
-
208
-
209
- .slideshow-nav a,
210
-
211
- .slideshow-indicator a {
212
-
213
- background-color: rgba(0, 0, 0, 0); /* for IE9 */
214
-
215
- overflow: hidden;
216
-
217
- }
218
-
219
- .slideshow-nav a:before,
220
-
221
- .slideshow-indicator a:before {
222
-
223
- display: inline-block;
224
-
225
- font-size: 0;
226
-
227
- line-height: 0;
228
-
229
- }
230
-
231
-
232
-
233
- .slideshow-nav a {
234
-
235
- position: absolute;
236
-
237
- top: 50%;
238
-
239
- left: 50%;
240
-
241
- width: 100px;
242
-
243
- height: 100px;
244
-
245
- margin-top: -10px;
246
-
247
- }
248
-
249
- .slideshow-nav a.prev {
250
-
251
- margin-left: 10px;
252
-
253
- }
254
-
255
- .slideshow-nav a.prev:before {
256
-
257
- margin-top: -20px;
258
-
259
- }
260
-
261
- .slideshow-nav a.next {
262
-
263
- margin-right: 100px;
264
-
265
- }
266
-
267
- .slideshow-nav a.next:before {
268
-
269
- margin-left: 100px;
270
-
271
- margin-top: -20px;
272
-
273
- }
274
-
275
- .slideshow-nav a.disabled {
276
-
277
- display: none;
278
-
279
- }
280
-
281
-
282
-
283
- ```
284
-
285
-
286
-
287
- **JS**
288
-
289
- ```ここに言語を入力
290
-
291
- $(function () {
292
-
293
-
294
-
295
- /*
296
-
297
- * Slideshow
298
-
299
- */
300
-
301
- $('.slideshow').each(function () {
302
-
303
-
304
-
305
- // 変数の準備
306
-
307
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
308
-
309
-
310
-
311
- var $container = $(this), // a
312
-
313
- $slideGroup = $container.find('.slideshow-slides'), // b
314
-
315
- $slides = $slideGroup.find('.slide'), // c
316
-
317
- $nav = $container.find('.slideshow-nav'), // d
318
-
319
- $indicator = $container.find('.slideshow-indicator'), // e
320
-
321
- // スライドショー内の各要素の jQuery オブジェクト
322
-
323
- // a スライドショー全体のコンテナー
324
-
325
- // b 全スライドのまとまり (スライドグループ)
326
-
327
- // c 各スライド
328
-
329
- // d ナビゲーション (Prev/Next)
330
-
331
- // e インジケーター (ドット)
332
-
333
-
334
-
335
- slideCount = $slides.length, // スライドの点数
336
-
337
- indicatorHTML = '', // インジケーターのコンテンツ
338
-
339
- currentIndex = 0, // 現在のスライドのインデックス
340
-
341
- duration = 500, // 次のスライドへのアニメーションの所要時間
342
-
343
- easing = 'easeInOutExpo', // 次のスライドへのアニメーションのイージングの種類
344
-
345
- interval = 7500, // 自動で次のスライドに移るまでの時間
346
-
347
- timer; // タイマーの入れ物
348
-
349
-
350
-
351
-
352
-
353
- // HTML 要素の配置、生成、挿入
354
-
355
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
356
-
357
-
358
-
359
- // 各スライドの位置を決定し、
360
-
361
- // 対応するインジケーターのアンカーを生成
362
-
363
- $slides.each(function (i) {
364
-
365
- $(this).css({ left: 100 * i + '%' });
366
-
367
- indicatorHTML += '<a href="#">' + (i + 1) + '</a>';
368
-
369
- });
370
-
371
-
372
-
373
- // インジケーターにコンテンツを挿入
374
-
375
- $indicator.html(indicatorHTML);
376
-
377
-
378
-
379
-
380
-
381
- // 関数の定義
382
-
383
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
384
-
385
-
386
-
387
- // 任意のスライドを表示する関数
388
-
389
- function goToSlide (index) {
390
-
391
- // スライドグループをターゲットの位置に合わせて移動
392
-
393
- $slideGroup.animate({ left: - 100 * index + '%' }, duration, easing);
394
-
395
- // 現在のスライドのインデックスを上書き
396
-
397
- currentIndex = index;
398
-
399
- // ナビゲーションとインジケーターの状態を更新
400
-
401
- updateNav();
402
-
403
- }
404
-
405
-
406
-
407
- // スライドの状態に応じてナビゲーションとインジケーターを更新する関数
408
-
409
- function updateNav () {
410
-
411
- var $navPrev = $nav.find('.prev'), // Prev (戻る) リンク
412
-
413
- $navNext = $nav.find('.next'); // Next (進む) リンク
414
-
415
- // もし最初のスライドなら Prev ナビゲーションを無効に
416
-
417
- if (currentIndex === 0) {
418
-
419
- $navPrev.addClass('disabled');
420
-
421
- } else {
422
-
423
- $navPrev.removeClass('disabled');
424
-
425
- }
426
-
427
- // もし最後のスライドなら Next ナビゲーションを無効に
428
-
429
- if (currentIndex === slideCount - 1) {
430
-
431
- $navNext.addClass('disabled');
432
-
433
- } else {
434
-
435
- $navNext.removeClass('disabled');
436
-
437
- }
438
-
439
- // 現在のスライドのインジケーターを無効に
440
-
441
- $indicator.find('a').removeClass('active')
442
-
443
- .eq(currentIndex).addClass('active');
444
-
445
- }
446
-
447
-
448
-
449
- // タイマーを開始する関数
450
-
451
- function startTimer () {
452
-
453
- // 変数 interval で設定した時間が経過するごとに処理を実行
454
-
455
- timer = setInterval(function () {
456
-
457
- // 現在のスライドのインデックスに応じて次に表示するスライドの決定
458
-
459
- // もし最後のスライドなら最初のスライドへ
460
-
461
- var nextIndex = (currentIndex + 1) % slideCount;
462
-
463
- goToSlide(nextIndex);
464
-
465
- }, interval);
466
-
467
- }
468
-
469
-
470
-
471
- // タイマーを停止る関数
472
-
473
- function stopTimer () {
474
-
475
- clearInterval(timer);
476
-
477
- }
478
-
479
-
480
-
481
-
482
-
483
- // インベントの登録
484
-
485
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
486
-
487
-
488
-
489
- // ナビゲーションのリンクがクリックされたら該当するスライドを表示
490
-
491
- $nav.on('click', 'a', function (event) {
492
-
493
- event.preventDefault();
494
-
495
- if ($(this).hasClass('prev')) {
496
-
497
- goToSlide(currentIndex - 1);
498
-
499
- } else {
500
-
501
- goToSlide(currentIndex + 1);
502
-
503
- }
504
-
505
- });
506
-
507
-
508
-
509
- // インジケーターのリンクがクリックされたら該当するスライドを表示
510
-
511
- $indicator.on('click', 'a', function (event) {
512
-
513
- event.preventDefault();
514
-
515
- if (!$(this).hasClass('active')) {
516
-
517
- goToSlide($(this).index());
518
-
519
- }
520
-
521
- });
522
-
523
-
524
-
525
- // マウスが乗ったらタイマーを停止、はずれたら開始
526
-
527
- $container.on({
528
-
529
- mouseenter: stopTimer,
530
-
531
- mouseleave: startTimer
532
-
533
- });
534
-
535
-
536
-
537
-
538
-
539
- // スライドショーの開始
540
-
541
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
542
-
543
-
544
-
545
- // 最初のスライドを表示
546
-
547
- goToSlide(currentIndex);
548
-
549
-
550
-
551
- // タイマーをスタート
552
-
553
- startTimer();
554
-
555
-
556
-
557
- });
558
-
559
-
560
-
561
- });
562
-
563
- ```