回答編集履歴

1

コードの状態を正しく判断できておらず、回答が不適切であったため、修正。

2019/03/06 10:44

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -1,3 +1,39 @@
1
+ エラーの内容を拝見し、
2
+
3
+ 再度回答させていただきます。
4
+
5
+
6
+
7
+ エラーは、destroySliderが存在しないことを表しておりますので、
8
+
9
+ flag管理をすることによって、
10
+
11
+ 要素をjQueryプラグインに適用する前に(要素がdestroySliderメソッドを保持していない)、条件分岐でelseを通るのを防いでいる、状態です。
12
+
13
+ 要は、flagがtrueになることによって、初めて、
14
+
15
+ ウィンドウ幅がPCかつ、jQueryプラグインを適用している(要素にdestroySliderメソッドが存在する)という状態で、
16
+
17
+ destroySliderメソッドを実行、という流れを作れています。
18
+
19
+
20
+
21
+ 従来のソースコードでは、
22
+
23
+ ウィンドウ幅がPCの場合は、とにかく、destroySliderメソッドを実行!としてしまっているため、
24
+
25
+ jQueryプラグイン適用前に(destroySliderが追加されていない状態)、elseを通り、実行してしまっているということでしょう。
26
+
27
+
28
+
29
+ また、同時に、重複イベント追加というのも(処理の重複)同時に防いでいるかと思います。
30
+
31
+
32
+
33
+ -------- 以下元回答 --------
34
+
35
+
36
+
1
37
  エラーの内容を見ないとなんとも言えない部分がありますが、
2
38
 
3
39
  うまく行かなかった時のコードは、