回答編集履歴

1

追記

2016/09/03 14:22

投稿

shi_ue
shi_ue

スコア4437

test CHANGED
@@ -13,3 +13,61 @@
13
13
  <body onload="slideHuck01([5,6,7,8,9])">
14
14
 
15
15
  ```とやれば、onload時にコールできます。
16
+
17
+
18
+
19
+ 追記
20
+
21
+ --
22
+
23
+ イベントハンドラの付け方の質問が来たので、回答します。
24
+
25
+
26
+
27
+ [JQueryのonメソッド](http://api.jquery.com/on/)は第4引数にFunctionオブジェクトを入れるようになっています。
28
+
29
+ (第2,第3引数は省略可)
30
+
31
+ aKusanoさんのソースだと、`slideHuck01([5,6,7,8,9])`を実行した返値が渡されることになります。
32
+
33
+ slideHuck01関数がreturnで明示的に値を返していないので、undefinedが返って来て、onに渡されているはずです。
34
+
35
+ なので、一度だけは実行されますが、resize時にはイベントが設定されていないので、実行されないという訳です。
36
+
37
+
38
+
39
+ もし、
40
+
41
+ ```Javascript
42
+
43
+ $(function(){
44
+
45
+ $(window).on("load resize",slideHuck01);
46
+
47
+ });
48
+
49
+ ```とやれば、Functionオブジェクトが渡されますが、今度はデータが渡されません。
50
+
51
+
52
+
53
+ そこで、こうやれば渡すことが出来ます。
54
+
55
+ ```Javascript
56
+
57
+ $(function(){
58
+
59
+ $(window).on("load resize",{months: [5,6,7,8,9]},slideHuck01);
60
+
61
+ });
62
+
63
+
64
+
65
+ function slideHuck01(event){
66
+
67
+ var a = event.data.months;
68
+
69
+ var calArray = []; //受け取った配列を新たな配列に格納(この処理必要??)
70
+
71
+
72
+
73
+ ```