回答編集履歴
1
解説を追加
answer
CHANGED
@@ -1,4 +1,38 @@
|
|
1
1
|
上の`pageNum()`は`prev/next`ボタンクリック時のページ番号更新処理
|
2
2
|
(イベントにまつわるもの)
|
3
3
|
下の`pageNum()`はスライドショー開始時の初期ページ番号の表示処理
|
4
|
-
(WEBページ表示直後に実行しているもの)
|
4
|
+
(WEBページ表示直後に実行しているもの)
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
コードにインデントをつけると`pageNum`関数を呼び出しているところが**全く別**であることが判ります. つまり, `pageNum`関数を**2度連続で呼び出してはいません**.
|
9
|
+
|
10
|
+
```JavaScript
|
11
|
+
var images = [...];
|
12
|
+
|
13
|
+
var current = 0;
|
14
|
+
|
15
|
+
var pageNum = function() {
|
16
|
+
document.getElementById('page').textContent = (current + 1) + '/' + images.length;
|
17
|
+
}
|
18
|
+
|
19
|
+
var changeImage = function(num){
|
20
|
+
if(current + num >= 0 && current + num < images.length){
|
21
|
+
current += num;
|
22
|
+
document.getElementById('main_image').src = images[current];
|
23
|
+
|
24
|
+
pageNum();//ここは将来画像送りした際に呼び出される部分
|
25
|
+
}
|
26
|
+
};
|
27
|
+
|
28
|
+
pageNum();//ここはページロード直後に呼び出される部分
|
29
|
+
|
30
|
+
document.getElementById('prev').onclick = function() {
|
31
|
+
changeImage(-1);
|
32
|
+
};
|
33
|
+
|
34
|
+
document.getElementById('next').onclick = function() {
|
35
|
+
changeImage(1);
|
36
|
+
};
|
37
|
+
|
38
|
+
```
|