wnw_show 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +1 -0
  6. data/lib/wnw_show/rails/engine.rb +6 -0
  7. data/lib/wnw_show/rails/version.rb +5 -0
  8. data/lib/wnw_show/rails.rb +8 -0
  9. data/lib/wnw_show.rb +1 -0
  10. data/vendor/assets/audios/wnw_show/show/SoundUnit.swf +0 -0
  11. data/vendor/assets/audios/wnw_show/show/pin0.swf +0 -0
  12. data/vendor/assets/audios/wnw_show/show/swflash.cab +0 -0
  13. data/vendor/assets/images/wnw_show/list/bord.jpg +0 -0
  14. data/vendor/assets/images/wnw_show/list/delete.png +0 -0
  15. data/vendor/assets/images/wnw_show/list/gomi.png +0 -0
  16. data/vendor/assets/images/wnw_show/list/loading.gif +0 -0
  17. data/vendor/assets/images/wnw_show/list/pin-0.png +0 -0
  18. data/vendor/assets/images/wnw_show/list/pin-1.png +0 -0
  19. data/vendor/assets/images/wnw_show/list/pin-2.png +0 -0
  20. data/vendor/assets/images/wnw_show/list/pin-3.png +0 -0
  21. data/vendor/assets/images/wnw_show/list/pin-4.png +0 -0
  22. data/vendor/assets/images/wnw_show/list/pin-5.png +0 -0
  23. data/vendor/assets/images/wnw_show/list/pin-6.png +0 -0
  24. data/vendor/assets/images/wnw_show/list/pin-7.png +0 -0
  25. data/vendor/assets/images/wnw_show/list/pin-8.png +0 -0
  26. data/vendor/assets/images/wnw_show/list/pin-9.png +0 -0
  27. data/vendor/assets/images/wnw_show/list/seiton.png +0 -0
  28. data/vendor/assets/images/wnw_show/show/background.png +0 -0
  29. data/vendor/assets/images/wnw_show/show/env0.gif +0 -0
  30. data/vendor/assets/images/wnw_show/show/env1.gif +0 -0
  31. data/vendor/assets/images/wnw_show/show/env10.gif +0 -0
  32. data/vendor/assets/images/wnw_show/show/env11.gif +0 -0
  33. data/vendor/assets/images/wnw_show/show/env12.gif +0 -0
  34. data/vendor/assets/images/wnw_show/show/env2.gif +0 -0
  35. data/vendor/assets/images/wnw_show/show/env3.gif +0 -0
  36. data/vendor/assets/images/wnw_show/show/env4.gif +0 -0
  37. data/vendor/assets/images/wnw_show/show/env5.gif +0 -0
  38. data/vendor/assets/images/wnw_show/show/env6.gif +0 -0
  39. data/vendor/assets/images/wnw_show/show/env7.gif +0 -0
  40. data/vendor/assets/images/wnw_show/show/env8.gif +0 -0
  41. data/vendor/assets/images/wnw_show/show/env9.gif +0 -0
  42. data/vendor/assets/images/wnw_show/show/kirakira2.gif +0 -0
  43. data/vendor/assets/images/wnw_show/show/null.gif +0 -0
  44. data/vendor/assets/images/wnw_show/show/tori.png +0 -0
  45. data/vendor/assets/images/wnw_show/swipe/bord.jpg +0 -0
  46. data/vendor/assets/images/wnw_show/swipe/icons.png +0 -0
  47. data/vendor/assets/images/wnw_show/swipe/loader.gif +0 -0
  48. data/vendor/assets/javascripts/wnw_show/index.js +3 -0
  49. data/vendor/assets/javascripts/wnw_show/list.js.erb +388 -0
  50. data/vendor/assets/javascripts/wnw_show/show.js.erb +646 -0
  51. data/vendor/assets/javascripts/wnw_show/swipe.js +185 -0
  52. data/vendor/assets/stylesheets/wnw_show/index.css +3 -0
  53. data/vendor/assets/stylesheets/wnw_show/swipe.css.erb +214 -0
  54. data/wnw_show.gemspec +19 -0
  55. metadata +99 -0
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in wnw_show.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 ginok
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # WnwShow
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'wnw_show'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install wnw_show
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,6 @@
1
+ module Wnw_Show
2
+ module Rails
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module WnwShow
2
+ module Rails
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ require 'wnw_show/rails/engine'
2
+ require 'wnw_show/rails/version'
3
+
4
+ module WnwShow
5
+ module Rails
6
+
7
+ end
8
+ end
data/lib/wnw_show.rb ADDED
@@ -0,0 +1 @@
1
+ require 'wnw_show/rails'
@@ -0,0 +1,3 @@
1
+ //= require ./show
2
+ //= require ./list
3
+ //= require ./swipe
@@ -0,0 +1,388 @@
1
+ // jQueryに naturalWidth() と naturalHeight()を追加する
2
+ (function($){
3
+ var props = ['Width', 'Height'],prop;
4
+ while (prop = props.pop()) {
5
+ (function (natural, prop) {
6
+ $.fn[natural] = (natural in new Image()) ?
7
+ function () {return this[0][natural];} :
8
+ function () {
9
+ var node = this[0],img,value;
10
+ if (node.tagName.toLowerCase() === 'img') {
11
+ img = new Image();
12
+ img.src = node.src,value = img[prop];
13
+ }
14
+ return value;
15
+ };
16
+ }('natural' + prop, prop.toLowerCase()));
17
+ }
18
+ }(jQuery));
19
+
20
+ var wnw;
21
+ if (!wnw) wnw = {};
22
+ if (!wnw.list) wnw.list = {};
23
+ (function(){
24
+ //定数
25
+ var LEFT_MARGIN = 50; //左のマージン
26
+ var TOP_MARGIN = 200; //上のマージン
27
+ var Y_SPAN = 300; //写真の縦の間隔
28
+ var ROW_NO = 4; //写真の列数
29
+ var SQEW_SPAN = 50; //写真の配置のゆがみ
30
+ var ROTATE_DEGREE = 2; //画像の傾き角度の最大値
31
+ var PHOTO_DEL_Y = 500;//画像が消えるときに移動するY方向
32
+ var PHOTO_DEL_X_SPAN = 100;//画像が消えるときに移動するX方向の幅
33
+ var PIN_TOP = -10; //ピンが写真のトップからx方向にどれだけずれているか
34
+ var PIN_DEL_Y = -200;//ピンが消えるときに移動するY方向
35
+ var PIN_DEL_X_SPAN = -100;//ピンが消えるときに移動するX方向の幅
36
+ var ADD_IMAGE_RANGE_X = 1000;//画像が追加されるときのX座標の範囲
37
+ var ADD_IMAGE_RANGE_Y = 0;//画像が追加されるときのY座標の範囲
38
+ var ZOOM_TIME = 100;//画像が拡大する時の時間[ms]
39
+ var PIN_IMAGE_PREFIX = "/images/pin-";//ピン画像の接頭辞
40
+ var PIN_IMAGE_SURFIX = ".png"; //ピン画像の接尾辞
41
+ var SOUND_FILE = "/sounds/SoundUnit.swf";//ピンが抜ける音
42
+ var SOUND_CODEBASE = "/sounds/swflash.cab";//音の再生
43
+ var SEITON_BTN_IMAGE = "<%= asset_path('wnw_show/list/seiton.png') %>";//整頓ボタン画像
44
+ var DELETE_BTN_IMAGE = "<%= asset_path('wnw_show/list/delete.png') %>";//削除ボタン画像
45
+ var BACKGROUND_IMAGE = "<%= asset_path('wnw_show/list/bord.jpg') %>";//背景画像
46
+ var LOADING_IMAGE = "<%= asset_path('wnw_show/list/loading.gif') %>";//ロード中画像
47
+ var DRAG_DISTANCE = 10 ;//これ以上座標を動かすとドラックとみなす
48
+ //変数
49
+ var gZIndexMax = 2;//現在画面で表示されている中で最大のz-Index
50
+ var gPinList = [];//ピンのjqueryオブジェクトのリスト
51
+ var gImgList = [];//画像のjqueryオブジェクトのリスト
52
+ var gMessage = ""; //画面上部に表示されるメッセージ
53
+ var gImgUrlList; //画像URLのリスト
54
+ var gZoomImgId = -1;//現在zoom中の画像のID
55
+ var gNowDragging = false;//現在ドラッグ中かどうか
56
+ var gContextPath;//このスクリプトが呼ばれるURLコンテキストパス
57
+ var getPinImgPath = function() {
58
+ var imgPaths = [
59
+ "<%= asset_path('wnw_show/list/pin-0.png') %>",
60
+ "<%= asset_path('wnw_show/list/pin-1.png') %>",
61
+ "<%= asset_path('wnw_show/list/pin-2.png') %>",
62
+ "<%= asset_path('wnw_show/list/pin-3.png') %>",
63
+ "<%= asset_path('wnw_show/list/pin-4.png') %>",
64
+ "<%= asset_path('wnw_show/list/pin-5.png') %>",
65
+ "<%= asset_path('wnw_show/list/pin-6.png') %>",
66
+ "<%= asset_path('wnw_show/list/pin-7.png') %>",
67
+ "<%= asset_path('wnw_show/list/pin-8.png') %>",
68
+ "<%= asset_path('wnw_show/list/pin-9.png') %>",
69
+ ];
70
+ return imgPaths[Math.floor(Math.random() * 9)]
71
+ }
72
+
73
+ // [0,x] の間の乱数を整数で返す
74
+ function rand1(x){
75
+ return Math.floor(Math.random() * x );
76
+ }
77
+ // [-x,x] の間の乱数を整数で返す
78
+ function rand2(x){
79
+ return Math.floor(Math.random() * x * 2 - x);
80
+ }
81
+ //音を出す
82
+ function playSound(){
83
+ var div = document.getElementById("SoundUnit");
84
+ var innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=' + gContextPath + SOUND_CODEBASE + ' width="0" height="0" id="SoundUnit"><param name="movie" value="' + gContextPath + SOUND_FILE + '" /><embed loop=false src="' + gContextPath + SOUND_FILE + '" width="0" height="0" name="SoundUnit" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
85
+ div.innerHTML = innerHTML;
86
+ }
87
+
88
+ // 画面を表示する
89
+ // @param
90
+ // imgUrlList : 画像のURLのリスト
91
+ // msg : 画面上部に表示されるメッセージ
92
+ // logoUrl : ロゴのURL
93
+ // contextPath : ロードするhtmlのコンテキストパス
94
+ function display(imgUrlList,msg,logoUrl,contextPath){
95
+ gContextPath = contextPath;
96
+ gMessage = msg;
97
+
98
+ //背景
99
+ $("body").css("background","url(" + BACKGROUND_IMAGE+ ")")
100
+ .append($("<div/>").attr("id","bord"))
101
+ .append($("<div/>").attr("id","SoundUnit"));
102
+ //loading
103
+ var loading = $("<div/>")
104
+ .attr("id","loading")
105
+ .css({"border-radius":"10px",
106
+ "border" : "solid",
107
+ "width" : "300" ,
108
+ "height" : "50",
109
+ "background-color" : "#ffffff",
110
+ "border-color" : "#ffffff",
111
+ "z-index" : "100",
112
+ "margin" : "0 auto",
113
+ "padding" : "10",
114
+ "opacity" : "0.8"})
115
+ .html("<center><font size=5>Now Loading...<span id=loadno></span></font><img src=" + LOADING_IMAGE + "></center>");
116
+
117
+ // ロゴ
118
+ $("#bord").append(
119
+ $("<img />")
120
+ .attr("src",logoUrl)
121
+ .css({
122
+ "position" : "absolute",
123
+ "top":0,
124
+ "left":LEFT_MARGIN,
125
+ "width":200,
126
+ "height":200,
127
+ "z-index":30
128
+ }));
129
+
130
+ //文字
131
+ $("body").append(
132
+ $("<div />")
133
+ .html(gMessage)
134
+ .css({
135
+ "color":"#FFFFFF",
136
+ "text-shadow": "0px 0px 10px gray",
137
+ "top":35,
138
+ "left":250,
139
+ "font-size":40,
140
+ // "font-weight": "bold",
141
+ "width":1000,
142
+ "opacity": 1,
143
+ "position":"absolute",
144
+ "z-index":255,
145
+ "font-family": "wnw_list_font",
146
+ "padding":10
147
+ }));
148
+
149
+
150
+ // 写真
151
+ gImgUrlList = imgUrlList;
152
+ viewNextImage();
153
+
154
+ };
155
+
156
+ // 次の画像の位置を計算して、viewImageを呼び出す。
157
+ function viewNextImage(){
158
+ if(gImgList.length == gImgUrlList.length){
159
+ //次はない
160
+
161
+ //削除ボタン箱
162
+ $("#bord").append(
163
+ $("<img/>")
164
+ .attr("id","gomi")
165
+ .attr("src", DELETE_BTN_IMAGE)
166
+ .css({"position":"absolute" , "top":10 , "left":1000 , "z-index" :1000})
167
+ .click(function(){alert("削除したい写真をここにドロップしてください");})
168
+ .droppable({
169
+ drop: function(e,ui) {
170
+ if (confirm("メッセージを削除しますか?")){
171
+ var img = $("#" + ui.draggable.attr("id"));
172
+ // call delete api
173
+ var url = img.attr('msg_id');
174
+ $.ajax({type: "delete",url: url});
175
+ img.css({"display":"none"});
176
+
177
+ }
178
+ },
179
+ tolerance: "pointer"
180
+ }));
181
+
182
+ //整頓ボタン
183
+ $("#bord").append(
184
+ $("<img/>")
185
+ .attr("src", SEITON_BTN_IMAGE)
186
+ .css({
187
+ "position":"absolute" ,
188
+ "top":10 ,
189
+ "left":800 ,
190
+ "z-index" :1000 })
191
+ .click(reset));
192
+ }else{
193
+ var no = gImgList.length;
194
+ var url = gImgUrlList[no];
195
+ //位置計算
196
+ var top = TOP_MARGIN + Math.floor(no / ROW_NO ) * Y_SPAN;
197
+ if(no % ROW_NO == 0){ //1列目
198
+ var left = LEFT_MARGIN;
199
+ }else{
200
+ leftside = gImgList[no - 1];
201
+ var left = leftside.offset().left + leftside.width();
202
+ }
203
+ top += rand1(SQEW_SPAN);
204
+ left += rand1(SQEW_SPAN);
205
+ var zIndex = rand1(gZIndexMax);
206
+ viewImage(url,top,left,zIndex,top,left,viewNextImage);
207
+ }
208
+ };
209
+
210
+ // 画像を表示する
211
+ //
212
+ // @param
213
+ // url: 画像のURL
214
+ // top: 画像のtop
215
+ // left: 画像のleft
216
+ // zIndex: 画像のz-index
217
+ // orgtop: 画像の整列後のtop
218
+ // orgleft: 画像の整列後のleft
219
+ // callback: 画像がロードされたら呼び出す関数
220
+ function viewImage(url,top,left,zIndex,orgtop,orgleft,callback){
221
+ var no = gImgList.length;
222
+ var img = $("<img />")
223
+ .addClass("photo")
224
+ .attr("id","img"+no)
225
+ .attr("src",url)
226
+ .attr("orgTop",orgtop)
227
+ .attr("orgLeft",orgleft)
228
+ .attr("orgZIndex",zIndex)
229
+ .attr("pinId","img"+no)
230
+ .attr("no",no)
231
+ .attr("msg_id",url)
232
+ .css({"display":"block",
233
+ "position" : "absolute",
234
+ "top":top,
235
+ "left":left,
236
+ "z-index":zIndex,
237
+ "-webkit-transform": "rotate(" + rand2(ROTATE_DEGREE) + "deg)",
238
+ "-moz-transform": "rotate(" + rand2(ROTATE_DEGREE) + "deg)"})
239
+ .click(function(){
240
+ if (gNowDragging){
241
+ //ドラッグの場合はzoomしない
242
+ gNowDragging = false;
243
+ }else{
244
+ // Zoom
245
+ if(gZoomImgId == -1 ){
246
+ //Zoomしていない時はZoom
247
+ if($(window).width() > $(window).height()){
248
+ var ratio = 1.0 * $(window).height() / $(this).height();
249
+ var zLeft = $("body").scrollLeft() + $(window).width()/2
250
+ - $(this).width()
251
+ * ( $(window).height() / $(this).height() )
252
+ / 2 ;
253
+ var zTop = $("body").scrollTop();
254
+ }else{
255
+ var ratio = 1.0 * $(window).width() / $(this).width();
256
+ var zTop = $("body").scrollTop() + $(window).height()/2
257
+ - $(this).height()
258
+ * ( $(window).width() / $(this).width() )
259
+ / 2 ;
260
+ var zLeft = $("body").scrollLeft();
261
+ }
262
+ $(this)
263
+ .attr("beforeLeft",$(this).offset().left)
264
+ .attr("beforeTop",$(this).offset().top)
265
+ .attr("beforeZIndex",$(this).css("z-index"))
266
+ .animate({"display":"block",
267
+ "position" : "absolute",
268
+ "top": zTop,
269
+ "left": zLeft,
270
+ "height" : $(this).naturalHeight() * ratio,
271
+ "width" : $(this).naturalWidth() * ratio,
272
+ "z-index": gZIndexMax + 1
273
+ },ZOOM_TIME);
274
+ gZoomImgId=$(this).attr("id");
275
+ }else{
276
+ //Zoom中は元の位置に戻す
277
+ zoomImg=$("#" + gZoomImgId);
278
+ zoomImg.animate({
279
+ "height" : zoomImg.naturalHeight(),
280
+ "width" : zoomImg.naturalWidth(),
281
+ "left" : zoomImg.attr("beforeLeft"),
282
+ "top" : zoomImg.attr("beforeTop"),
283
+ "z-index" : zoomImg.attr("beforeZIndex")
284
+ },ZOOM_TIME);
285
+ gZoomImgId = -1;
286
+ };
287
+ };
288
+ })
289
+ .draggable({
290
+ distance : DRAG_DISTANCE,
291
+ start: function(e,ui){
292
+ gNowDragging = true;
293
+ // move photo
294
+ $(this).css({"z-index":++gZIndexMax});
295
+ // hide pin
296
+ $("#pin" + $(this).attr("no")).css({"opacity":0});
297
+ },
298
+ stop: function(e,ui){
299
+ // show pin
300
+ $("#pin" + $(this).attr("no"))
301
+ .css({"top": ui.position.top + PIN_TOP ,
302
+ "left" : ui.position.left + $(this).width()/2,
303
+ "opacity":1,
304
+ "z-index":++gZIndexMax});
305
+ }
306
+ })
307
+ .load(function(){
308
+ //pin
309
+ var pin=$("<img />")
310
+ .attr("id","pin"+no)
311
+ .attr("img_id","img"+no)
312
+ .attr("orgTop",orgtop + PIN_TOP)
313
+ .attr("orgLeft",orgleft + img.width()/2)
314
+ .attr("orgZIndex",zIndex)
315
+ .attr("msg_id",img.attr("id"))
316
+ .attr("src", getPinImgPath())
317
+ .css({"position" : "absolute",
318
+ "top": top + PIN_TOP,
319
+ "left": left + img.width()/2,
320
+ "z-index":zIndex})
321
+ .click(function(){
322
+ // start sound
323
+ playSound();
324
+ //playPinSound_list();
325
+ // face out pin animation
326
+ $(this).animate({"top": $(this).offset().top + PIN_DEL_Y ,
327
+ "left": $(this).offset().left + rand2(PIN_DEL_X_SPAN),
328
+ "opacity":0});
329
+ // drop image animation
330
+ var photo = $("#" +$(this).attr('img_id'));
331
+ photo.animate({"top":photo.offset().top + PHOTO_DEL_Y ,
332
+ "left":photo.offset().left + rand2(PHOTO_DEL_X_SPAN),
333
+ "opacity":0});
334
+ });
335
+ $("#bord").append(pin);
336
+ gPinList.push(pin);
337
+ //callback
338
+ callback();
339
+ });
340
+
341
+ $("#bord").append(img);
342
+ gImgList.push(img);
343
+
344
+ };
345
+
346
+ //画像を追加する
347
+ // @param
348
+ // url : 画像のurl
349
+ function addImage(url){
350
+ //整列後の位置を先に計算
351
+ var no = gImgList.length;
352
+ var orgtop = TOP_MARGIN + Math.floor(no / ROW_NO ) * Y_SPAN;
353
+ if(no % ROW_NO == 0){ //1列目
354
+ var orgleft = LEFT_MARGIN;
355
+ }else{
356
+ leftside = gImgList[no - 1];
357
+ var orgleft = leftside.offset().left + leftside.width();
358
+ }
359
+ orgtop += rand1(SQEW_SPAN);
360
+ orgleft += rand1(SQEW_SPAN);
361
+ //実際に表示するのはランダムな位置
362
+ gZIndexMax += 1;
363
+ viewImage(url, rand1(ADD_IMAGE_RANGE_Y),rand1(ADD_IMAGE_RANGE_X),gZIndexMax,orgtop,orgleft,function(){});
364
+ };
365
+
366
+ //画像を整頓する
367
+ function reset(){
368
+ for(i = 0 ; i < gImgList.length ; i = i + 1){
369
+ gImgList[i].animate({
370
+ "top":gImgList[i].attr("orgTop"),
371
+ "left":gImgList[i].attr("orgLeft"),
372
+ "z-index":gImgList[i].attr("orgZIndex")
373
+ },500);
374
+ gPinList[i].animate({
375
+ "top":gPinList[i].attr("orgTop"),
376
+ "left":gPinList[i].attr("orgLeft"),
377
+ "z-index":gPinList[i].attr("orgZIndex")
378
+ },500);
379
+ }
380
+ };
381
+ //publicフィールド・関数定義
382
+ wnw.list.display = display;
383
+ wnw.list.addImage = addImage;
384
+ wnw.list.reset = reset;
385
+ })();
386
+
387
+
388
+