###前提・実現したいこと
HTML(css/js)でドット風に配置された要素(1010マス)を表示する際に、
ドラクエ1の敵モンスターが出現する時のエフェクトと"似た"事がしたい
ex:)
ドット風要素の集合体(1010)の中心点から、外側に渦を巻きながら、
順番にアニメーションでフェードイン
下の図(1)で示した感じの要素であれば、
44 -> 45 -> 55 -> 54 -> 53 -> 43
の順番にアニメーションを起こす。
※外側から中心点に向けてでも可
・図(1)
列0 | 列1 | 列2 | 列3 | 列4 | 列5 | 列6 | 列7 | 列8 | 列9 | |
---|---|---|---|---|---|---|---|---|---|---|
行0 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
行1 | 10 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
行2 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
行3 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
行4 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
行5 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
行6 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
行7 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
行8 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
行9 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
###発生している問題・エラーメッセージ
アニメーションは、起こせるので、アニメーション効果の詳細は、一時、割愛中
渦巻き(順)にアニメーションを実行する手段が知りたい。
00から99まで全ての要素が配列ライクになった要素は、取得可能
###該当のソースコード
html
1<style> 2.dqWrap{width:500px;height:500px;margin:0 auto;} 3span.dqDot{display:inline-block;width:50px;height:50px;background-color:#111; vertical-align:bottom;} 4</style> 5<div class="dqWrap"> 6<div id="dqModal"> 7<span class="dqDot" id="dqDot_001"></span><span class="dqDot" id="dqDot_002"></span><span class="dqDot" id="dqDot_003"></span><span class="dqDot" id="dqDot_004"></span><span class="dqDot" id="dqDot_005"></span><span class="dqDot" id="dqDot_006"></span><span class="dqDot" id="dqDot_007"></span><span class="dqDot" id="dqDot_008"></span><span class="dqDot" id="dqDot_009"></span><span class="dqDot" id="dqDot_010"></span><span class="dqDot" id="dqDot_011"></span><span class="dqDot" id="dqDot_012"></span><span class="dqDot" id="dqDot_013"></span><span class="dqDot" id="dqDot_014"></span><span class="dqDot" id="dqDot_015"></span><span class="dqDot" id="dqDot_016"></span><span class="dqDot" id="dqDot_017"></span><span class="dqDot" id="dqDot_018"></span><span class="dqDot" id="dqDot_019"></span><span class="dqDot" id="dqDot_020"></span><span class="dqDot" id="dqDot_021"></span><span class="dqDot" id="dqDot_022"></span><span class="dqDot" id="dqDot_023"></span><span class="dqDot" id="dqDot_024"></span><span class="dqDot" id="dqDot_025"></span><span class="dqDot" id="dqDot_026"></span><span class="dqDot" id="dqDot_027"></span><span class="dqDot" id="dqDot_028"></span><span class="dqDot" id="dqDot_029"></span><span class="dqDot" id="dqDot_030"></span><span class="dqDot" id="dqDot_031"></span><span class="dqDot" id="dqDot_032"></span><span class="dqDot" id="dqDot_033"></span><span class="dqDot" id="dqDot_034"></span><span class="dqDot" id="dqDot_035"></span><span class="dqDot" id="dqDot_036"></span><span class="dqDot" id="dqDot_037"></span><span class="dqDot" id="dqDot_038"></span><span class="dqDot" id="dqDot_039"></span><span class="dqDot" id="dqDot_040"></span><span class="dqDot" id="dqDot_041"></span><span class="dqDot" id="dqDot_042"></span><span class="dqDot" id="dqDot_043"></span><span class="dqDot" id="dqDot_044"></span><span class="dqDot" id="dqDot_045"></span><span class="dqDot" id="dqDot_046"></span><span class="dqDot" id="dqDot_047"></span><span class="dqDot" id="dqDot_048"></span><span class="dqDot" id="dqDot_049"></span><span class="dqDot" id="dqDot_050"></span><span class="dqDot" id="dqDot_051"></span><span class="dqDot" id="dqDot_052"></span><span class="dqDot" id="dqDot_053"></span><span class="dqDot" id="dqDot_054"></span><span class="dqDot" id="dqDot_055"></span><span class="dqDot" id="dqDot_056"></span><span class="dqDot" id="dqDot_057"></span><span class="dqDot" id="dqDot_058"></span><span class="dqDot" id="dqDot_059"></span><span class="dqDot" id="dqDot_060"></span><span class="dqDot" id="dqDot_061"></span><span class="dqDot" id="dqDot_062"></span><span class="dqDot" id="dqDot_063"></span><span class="dqDot" id="dqDot_064"></span><span class="dqDot" id="dqDot_065"></span><span class="dqDot" id="dqDot_066"></span><span class="dqDot" id="dqDot_067"></span><span class="dqDot" id="dqDot_068"></span><span class="dqDot" id="dqDot_069"></span><span class="dqDot" id="dqDot_070"></span><span class="dqDot" id="dqDot_071"></span><span class="dqDot" id="dqDot_072"></span><span class="dqDot" id="dqDot_073"></span><span class="dqDot" id="dqDot_074"></span><span class="dqDot" id="dqDot_075"></span><span class="dqDot" id="dqDot_076"></span><span class="dqDot" id="dqDot_077"></span><span class="dqDot" id="dqDot_078"></span><span class="dqDot" id="dqDot_079"></span><span class="dqDot" id="dqDot_080"></span><span class="dqDot" id="dqDot_081"></span><span class="dqDot" id="dqDot_082"></span><span class="dqDot" id="dqDot_083"></span><span class="dqDot" id="dqDot_084"></span><span class="dqDot" id="dqDot_085"></span><span class="dqDot" id="dqDot_086"></span><span class="dqDot" id="dqDot_087"></span><span class="dqDot" id="dqDot_088"></span><span class="dqDot" id="dqDot_089"></span><span class="dqDot" id="dqDot_090"></span><span class="dqDot" id="dqDot_091"></span><span class="dqDot" id="dqDot_092"></span><span class="dqDot" id="dqDot_093"></span><span class="dqDot" id="dqDot_094"></span><span class="dqDot" id="dqDot_095"></span><span class="dqDot" id="dqDot_096"></span><span class="dqDot" id="dqDot_097"></span><span class="dqDot" id="dqDot_098"></span><span class="dqDot" id="dqDot_099"></span><span class="dqDot" id="dqDot_100"></span> 8</div></div>
javascript
1function dqLikeAnimate(){ 2 this.options = { 3 speed: 1000, 4 delayTime: 20, 5 type: 'dq', 6 target: $() 7 }; 8} 9dqLikeAnimate.prototype = { 10 init: function(){ 11 return this; 12 }, 13 setup: function(options){ 14 this.options = $.extend(true, {}, this.options, options); 15 this.init(); 16 this.setupAnimetion(); 17 return this; 18 }, 19 setupAnimetion: function(){ 20 var _this = this; 21 this.options.target.each(function(i, e){ 22 var $this = $(this); 23 _this.animate($this, i).done(function(){ 24 _this.setupAfter(); 25 }).fail(function(){ 26 return; 27 }); 28 }); 29 }, 30 setupAfter: function(){ 31 this.options.target.css({ 32 opacity: 1 33 }); 34 return this; 35 }, 36 animate: function($target, index){ 37 var _this = this; 38 var $d = new $.Deferred; 39 $target.delay(index * this.options.delayTime).animate({ 40 opacity: 0 41 }, this.options.speed, 'swing', function(){ 42 if(_this.options.target.index($target) == (_this.options.target.length - 1)){ 43 $d.resolve(true); 44 }else{ 45 $d.reject(false); 46 } 47 }); 48 return $d.promise(); 49 } 50}; 51$(function(){ 52 var animated = new dqLikeAnimate(); 53 animated.setup({ 54 target: $('#dqModal').find('.dqDot') 55 }); 56});
###試したこと
上記ソースコード参照
###補足情報(言語/FW/ツール等のバージョンなど)
javascriptは、ライブラリとして、jQueryのみ利用可能です。
'#dqModal' -> こいつは、ドット要素の親
'.dqDot' -> こいつは、ドット要素
###動きのイメージ
https://jsfiddle.net/8sree1an/
↑作ってみました!
回答1件
あなたの回答
tips
プレビュー