回答編集履歴

3

コメントを受けて再々追記

2021/10/29 09:55

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36960

test CHANGED
@@ -89,3 +89,43 @@
89
89
  func()
90
90
 
91
91
  ```
92
+
93
+
94
+
95
+ ---
96
+
97
+
98
+
99
+ # コメントを受けて再々追記
100
+
101
+
102
+
103
+ あー、なんか納得されないようなので、仕方がないな。
104
+
105
+ スマートじゃないですが、では、もう、いっそ、こうしたらどうですか?
106
+
107
+
108
+
109
+ ```js
110
+
111
+ ).done(function (script, textStatus) {
112
+
113
+ //もし終わったら終了 をここに移動
114
+
115
+ if (savedFileCount == jsFileCount) {
116
+
117
+ clearInterval(startCount)
118
+
119
+ func()
120
+
121
+ }
122
+
123
+ loadedBoolean = true
124
+
125
+ ```
126
+
127
+
128
+
129
+ 別に回答者の言うことは絶対だ、とか言わないですが、示された回答にバグの原因が書いてあるんですから、せめて変数のウォッチとかステップ実行ぐらいしても罰は当たんないと思いますけどね。
130
+
131
+ 正直こりごりですので、これ以降は応答不要です。

2

蛇足ですが

2021/10/29 09:54

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36960

test CHANGED
@@ -47,3 +47,45 @@
47
47
  「if文が実行される」ということはどういうことかというと、`func()`が実行される、ということです。
48
48
 
49
49
  つまり、「`urlArray[10]`のスクリプト読み込み終了時に、`func()`が実行されているのではないですか?」というのが、当方の回答です。
50
+
51
+
52
+
53
+ ---
54
+
55
+
56
+
57
+ # 蛇足ですが
58
+
59
+
60
+
61
+ `$.getScript()`の戻り値は[thenable](http://var.blog.jp/archives/80048619.html)ですので、awaitが使えます。
62
+
63
+
64
+
65
+ ```js
66
+
67
+ for (let i = 0; i < urlArray.length; i++) {
68
+
69
+ await $.getScript(
70
+
71
+ urlArray[i]
72
+
73
+ )
74
+
75
+ const countPercent = Math.floor((i + 1) / urlArray.length * 100)
76
+
77
+ console.log(countPercent + "%",)
78
+
79
+ $("#splash_text").text(countPercent + "%")
80
+
81
+ $("#splash_bar").animate({
82
+
83
+ width: countPercent + "%"
84
+
85
+ }, 100)
86
+
87
+ }
88
+
89
+ func()
90
+
91
+ ```

1

コメントを受けて追記

2021/10/29 04:56

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36960

test CHANGED
@@ -21,3 +21,29 @@
21
21
  上記部分ですが、`jsFile=0`、つまり`urlArray[0]`のスクリプト読み込み終了時に、`savedFileCount`は`1`になります。
22
22
 
23
23
  ということは、`urlArray[10]`のスクリプト読み込み終了時に、`savedFileCount`は`11`になって、`savedFileCount == jsFileCount`が成立すると思いますが、これは想定と異なるのではないですか?
24
+
25
+
26
+
27
+ ---
28
+
29
+
30
+
31
+ # コメントを受けて追記
32
+
33
+
34
+
35
+ わかりにくいようなので補足します。
36
+
37
+
38
+
39
+ > urlArray[10]のスクリプト読み込み終了時に、savedFileCountは11になって、savedFileCount == jsFileCountが成立する
40
+
41
+
42
+
43
+ と書きましたが、これは「if文が実行されていない」という意味ではないです。
44
+
45
+ 「savedFileCount == jsFileCountが成立する」ということですから、逆に「if文が**実行されてしまう**」という意味です。
46
+
47
+ 「if文が実行される」ということはどういうことかというと、`func()`が実行される、ということです。
48
+
49
+ つまり、「`urlArray[10]`のスクリプト読み込み終了時に、`func()`が実行されているのではないですか?」というのが、当方の回答です。