Nakamap App sugyan Follow 2011-11-10 14:32:25 License: MIT License Fork0 Fav2 View6571 Play Stop Reload Fullscreen Smart Phone Readme JavaScript 104 lines HTML 2 lines CSS 1 lines Nakamap App jQuery v1.6.2 $(function () { if (window.top !== window) { $('#nakamap').append( $('<a>') .attr({ href: 'http://jsrun.it' + location.pathname, target: '_blank' }) .text('please open in new window') ); return; } var app = function (nakamap) { var stop; var ul = $('<ul>'); var form = $('<form>') .append($('<input type="text">')) .append($('<input type="submit">')) .submit(function (e) { e.preventDefault(); var uid = $(this).data('uid'); var input = $(this).find('input[type="text"]'); if (input.val().length > 0 && input.val().length <= 255) { nakamap.post('/group/' + uid + '/chats', { message: input.val() }); input.val(''); } }).hide(); var back = $('<span>').append( $('<a>').attr({ href: '#' }).text('back') ).click(function (ev) { ev.preventDefault(); if (stop) { stop(); } $(this).hide(); form.hide(); groups(); }).hide(); $('#nakamap').append(back).append(form).append(ul); var generate_li = function (data) { return $('<li>') .append($('<img>').attr({ src: data.user.icon }).css({ width: 24, height: 24 })) .append($('<span>').text(data.user.name).css({ color: 'blue', margin: '0 5px' })) .append( $('<span>').text(data.message) ); }; var groups = function () { ul.empty(); nakamap.get('/groups', function (data) { if (data.error) { throw data.error; } $.each(data[0].items, function (i, e) { ul.append( $('<li>').append( $('<a>').attr({ href: '#' }).text(e.name).click(function (ev) { ev.preventDefault(); form.data('uid', e.uid); group(e.uid); }) ) ); }); }); }; var group = function (guid) { back.show(); form.show(); ul.empty(); nakamap.get('/group/' + guid, function (data) { $.each(data.chats.reverse(), function (i, e) { ul.prepend(generate_li(e)); }); }); stop = nakamap.listen('/group/' + guid, function (data) { ul.prepend(generate_li(data.chat)); }); }; groups(); }; Nakamap.anywhere({ id: 'd52be46587124cc28c8d06bfd374695b9e633a9d' }, function (n) { if (n.isConnected()) { app(n); } else { n('#nakamap').connectButton({ scope: ['read_basic', 'write_basic', 'read_groupchat', 'write_groupchat'], authComplete: function () { $('#nakamap').empty(); app(n); } }); } }); }); <script type="text/javascript" src="http://developer.nakamap.com/js/nakamap.js"></script> <div id="nakamap"></div> Nakamap App body { background-color: #DDDDDD; font: 30px sans-serif; } $(function () { if (window.top !== window) { $('#nakamap').append( $('<a>') .attr({ href: 'http://jsrun.it' + location.pathname, target: '_blank' }) .text('please open in new window') ); return; } var app = function (nakamap) { var stop; var ul = $('<ul>'); var form = $('<form>') .append($('<input type="text">')) .append($('<input type="submit">')) .submit(function (e) { e.preventDefault(); var uid = $(this).data('uid'); var input = $(this).find('input[type="text"]'); if (input.val().length > 0 && input.val().length <= 255) { nakamap.post('/group/' + uid + '/chats', { message: input.val() }); input.val(''); } }).hide(); var back = $('<span>').append( $('<a>').attr({ href: '#' }).text('back') ).click(function (ev) { ev.preventDefault(); if (stop) { stop(); } $(this).hide(); form.hide(); groups(); }).hide(); $('#nakamap').append(back).append(form).append(ul); var generate_li = function (data) { return $('<li>') .append($('<img>').attr({ src: data.user.icon }).css({ width: 24, height: 24 })) .append($('<span>').text(data.user.name).css({ color: 'blue', margin: '0 5px' })) .append( $('<span>').text(data.message) ); }; var groups = function () { ul.empty(); nakamap.get('/groups', function (data) { if (data.error) { throw data.error; } $.each(data[0].items, function (i, e) { ul.append( $('<li>').append( $('<a>').attr({ href: '#' }).text(e.name).click(function (ev) { ev.preventDefault(); form.data('uid', e.uid); group(e.uid); }) ) ); }); }); }; var group = function (guid) { back.show(); form.show(); ul.empty(); nakamap.get('/group/' + guid, function (data) { $.each(data.chats.reverse(), function (i, e) { ul.prepend(generate_li(e)); }); }); stop = nakamap.listen('/group/' + guid, function (data) { ul.prepend(generate_li(data.chat)); }); }; groups(); }; Nakamap.anywhere({ id: 'd52be46587124cc28c8d06bfd374695b9e633a9d' }, function (n) { if (n.isConnected()) { app(n); } else { n('#nakamap').connectButton({ scope: ['read_basic', 'write_basic', 'read_groupchat', 'write_groupchat'], authComplete: function () { $('#nakamap').empty(); app(n); } }); } }); }); <script type="text/javascript" src="http://developer.nakamap.com/js/nakamap.js"></script> <div id="nakamap"></div> 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/7vQW/js?view=design"></script><p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/sugyan/nakamap" title="Nakamap App">Nakamap App - jsdo.it - share JavaScript, HTML5 and CSS</a></p> api nakamap Tweet twitter Tags api nakamap Favorite by 9re o.masakazu: nakamap Forked sort new page view favorite forked forked: Nakamap App s99e212 00 36views 105/2/1 api nakamap