loopするんじゃね? gaina Follow 2012-02-28 17:54:42 License: MIT License Fork0 Fav0 View309 Play Stop Reload Fullscreen Smart Phone Readme JavaScript 125 lines HTML 2 lines CSS 1 lines loopするんじゃね? (function(window,undefined) { var GIterator; GIterator = function(arr) { var $arr, $index, $len; $arr = arr || []; $index = 0; $len = $arr.length; return { current: function() { return $arr[$index]; }, next: function() { if (!this.hasNext()) { return null; } else { $index += 1; return this.current(); } }, prev: function() { if (!this.hasPrev()) { return null; } else { $index -= 1; return this.current(); } }, hasNext: function() { return $index < $len - 1; }, hasPrev: function() { return $index > 0; }, reset: function() { $index = 0; return this.current(); }, last: function() { $index = $len - 1; return this.current(); }, currentIndex: function() { return $index; }, length: function() { return $len; }, add: function(elm) { var i, l; if (arguments.length === 1) { $arr.push(elm); } else { l = arguments.length; for (i = 0; (0 <= l ? i <= l : i >= l); (0 <= l ? i += 1 : i -= 1)) { $arr.push(arguments[i]); } } $len = $arr.length; return this; }, remove: function(elm) { var i, j, l, n, _i, _len; if (arguments.length === 1) { for (_i = 0, _len = $len.length; _i < _len; _i++) { i = $len[_i]; if ($arr[$i] === elm) { $arr.splice(i, 1); $len = $arr.length; } } } else { l = arguments.length; for (j = 0; (0 <= $len ? j <= $len : j >= $len); (0 <= $len ? j += 1 : j -= 1)) { for (n = 0; (0 <= l ? n <= l : n >= l); (0 <= l ? n += 1 : n -= 1)) { if ($arr[j] === arguments[n]) { $arr.splice(j, 1); $len = $arr.length; } } } } return this; }, setIndex: function(num) { var a; a = num - 1; if (a < 0) { this.reset(); } else if (a > $len - 1) { this.last(); } else { $index = a; } return this; }, show: function() { if (window.console) { return console.log($arr); } else { return alert($arr); } } }; }; window.GIterator = window.GIT = GIterator; }(this)); var t = GIT([1,2,3,4,5,6]); var b = document.getElementById("btn"); var r = document.getElementById("results"); r.innerHTML = t.current(); if(document.addEventListener){ b.addEventListener("click",pushButton,false); }else if(document.attachEvent){ b.attachEvent("onclick",pushButton); }else{ b.onclick = pushButton; } function pushButton(){ r.innerHTML = t.next() || t.reset(); } <div id="results">00000</div> <button id="btn">PUSH</button> loopするんじゃね? body { background-color: #DDDDDD; font: 30px sans-serif; } (function(window,undefined) { var GIterator; GIterator = function(arr) { var $arr, $index, $len; $arr = arr || []; $index = 0; $len = $arr.length; return { current: function() { return $arr[$index]; }, next: function() { if (!this.hasNext()) { return null; } else { $index += 1; return this.current(); } }, prev: function() { if (!this.hasPrev()) { return null; } else { $index -= 1; return this.current(); } }, hasNext: function() { return $index < $len - 1; }, hasPrev: function() { return $index > 0; }, reset: function() { $index = 0; return this.current(); }, last: function() { $index = $len - 1; return this.current(); }, currentIndex: function() { return $index; }, length: function() { return $len; }, add: function(elm) { var i, l; if (arguments.length === 1) { $arr.push(elm); } else { l = arguments.length; for (i = 0; (0 <= l ? i <= l : i >= l); (0 <= l ? i += 1 : i -= 1)) { $arr.push(arguments[i]); } } $len = $arr.length; return this; }, remove: function(elm) { var i, j, l, n, _i, _len; if (arguments.length === 1) { for (_i = 0, _len = $len.length; _i < _len; _i++) { i = $len[_i]; if ($arr[$i] === elm) { $arr.splice(i, 1); $len = $arr.length; } } } else { l = arguments.length; for (j = 0; (0 <= $len ? j <= $len : j >= $len); (0 <= $len ? j += 1 : j -= 1)) { for (n = 0; (0 <= l ? n <= l : n >= l); (0 <= l ? n += 1 : n -= 1)) { if ($arr[j] === arguments[n]) { $arr.splice(j, 1); $len = $arr.length; } } } } return this; }, setIndex: function(num) { var a; a = num - 1; if (a < 0) { this.reset(); } else if (a > $len - 1) { this.last(); } else { $index = a; } return this; }, show: function() { if (window.console) { return console.log($arr); } else { return alert($arr); } } }; }; window.GIterator = window.GIT = GIterator; }(this)); var t = GIT([1,2,3,4,5,6]); var b = document.getElementById("btn"); var r = document.getElementById("results"); r.innerHTML = t.current(); if(document.addEventListener){ b.addEventListener("click",pushButton,false); }else if(document.attachEvent){ b.attachEvent("onclick",pushButton); }else{ b.onclick = pushButton; } function pushButton(){ r.innerHTML = t.next() || t.reset(); } <div id="results">00000</div> <button id="btn">PUSH</button> body { background-color: #DDDDDD; font: 30px sans-serif; } use an iframe compat browser, deer Play on jsdo.it games Share Embed QR Tag Download Complete! Description どんなゲームですか? Control Device スマートフォンコントローラー jsdo.it WebSocket Controller» マウス キーボード タッチデバイス Fullscreen 有効 無効 jsdo.it games から削除する Submit Tweet style Design view Code view code <script type="text/javascript" src="http://jsdo.it/blogparts/isBg/js?view=design"></script><p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/gaina/isBg" title="loopするんじゃね?">loopするんじゃね? - jsdo.it - share JavaScript, HTML5 and CSS</a></p> Tweet twitter