質問するログイン新規登録

回答編集履歴

2

追記

2016/11/25 08:05

投稿

退会済みユーザー
answer CHANGED
@@ -148,4 +148,6 @@
148
148
  </script>
149
149
  </body>
150
150
  </html>
151
- ```
151
+ ```
152
+
153
+ 引数をこんなに増やすくらいなら、プラグインにしちゃう方がもっとスッキリするでしょうね。

1

追記

2016/11/25 08:05

投稿

退会済みユーザー
answer CHANGED
@@ -64,5 +64,88 @@
64
64
  </script>
65
65
  </body>
66
66
  </html>
67
+ ```
67
68
 
69
+ ---
70
+
71
+ ```html
72
+ <!DOCTYPE html>
73
+ <html>
74
+ <head>
75
+ <title>title</title>
76
+ <meta charset="UTF-8">
77
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
78
+ <style type="text/css">
79
+ html,body {
80
+ height: 100%;
81
+ margin: 0;
82
+ padding: 0;
83
+ }
84
+ #wrap {
85
+ width: 100%;
86
+ height: 100%;
87
+ background: #F6F6F6;
88
+ }
89
+ #object {
90
+ position: absolute;
91
+ }
92
+ </style>
93
+ </head>
94
+ <body>
95
+ <div id="wrap">
96
+ <span id="object">●</span>
97
+ <div id="report">
98
+
99
+ </div>
100
+ </div>
101
+
102
+ <script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
103
+ <script type="text/javascript">
104
+ $(function () {
105
+ function doAnimate(obj, css, i, endcallback, stepcallback) {
106
+ if (typeof css[i] === 'undefined') {
107
+ endcallback(i);
108
+ return;
109
+ }
110
+ obj.animate(css[i], function () {
111
+ stepcallback(css, i);
112
+ doAnimate(obj, css, i + 1, endcallback, stepcallback);
113
+ });
114
+ }
115
+
116
+ var obj = $('#object');
117
+ var css = [
118
+ {
119
+ top: 100
120
+ , left: 100
121
+ }
122
+ , {
123
+ top: 0
124
+ , left: 100
125
+ }
126
+ , {
127
+ top: 100
128
+ , left: 100
129
+ }
130
+ , {
131
+ top: 0
132
+ , left: 0
133
+ }
134
+ ];
135
+
136
+ var endcallback = function (i) {
137
+ alert(i);
138
+ };
139
+
140
+ var stepcallback = function (css, i) {
141
+ var res = $('<div>');
142
+ res.text("#" + i + " top:" + css[i].top + " left" + css[i].left);
143
+ $("#report").append(res);
144
+ };
145
+
146
+ doAnimate(obj, css, 0, endcallback, stepcallback);
147
+ });
148
+ </script>
149
+ </body>
150
+ </html>
68
151
  ```