//jQuery扩展支持的方法定义 jQuery.extend({ format: function(text, args) { if (Array.isArray(args) == false) args = [args]; for (var i = 0; i < args.length; i++) text = text.replaceAll('{' + i + '}', args[i]); return text; }, storage: function(key, value) { if (value == undefined) return localStorage.getItem(key); localStorage.setItem(key, value); }, getStorageValue: function(key, default_value='') { var value = jQuery.storage(key); if (value == null || value == undefined) return default_value; return value; }, render: function(elem, args) { var el = typeof elem == 'string' ? jQuery(elem) : elem; for (var i = 0; i < el.length; i++) { var e = el.eq(i); var h = e.html(); e.html(jQuery.format(h, args)); } return elem; }, renderList: function(elem, list, callback) { var el = typeof elem == 'string' ? jQuery(elem) : elem; for (var i = 0; i < el.length; i++) { var e = el.eq(i); var t = e.html(); var h = ''; list.forEach(function(item, index) { var args = callback(item, index); h += jQuery.format(t, args); }); e.html(h); } return elem; }, renderBaseNavTabs: function(listener) { var tabhost = $('.base-page-nav'); var contents = tabhost.next('.base-page-contents').find('>div'); var tabs = tabhost.find('li'); var activeTab = tabhost.find('li.active'); if (activeTab.length <= 0 && tabs.length > 0) { activeTab = tabs.eq(0); activeTab.addClass('active'); } var render = function(index) { for (var i = 0; i < contents.length; i++) { if (i == index) { tabs.eq(index).addClass('active'); contents.eq(index).addClass('base-show'); } else { tabs.eq(i).removeClass('active'); contents.eq(i).removeClass('base-show'); } } }; var index = activeTab.index(); if (index < 0) throw new Error('init error!'); render(index); tabhost.on('click', 'li', function() { var item = $(this); var index = item.index(); render(index); if (typeof listener == 'function') listener({ index: index, item: item, elem: tabhost }); }); }, renderShowModal: function(tempalte, args) { var body = $('body'); var modal = body.find('.base-show-modal'); if (modal.length > 0) modal.remove(); modal = typeof tempalte == 'string' ? jQuery(tempalte) : tempalte; body.append(jQuery.render(modal, args).html()); }, formatKeys(e,arg,val,key='item'){ var t=e; var v=[]; if (typeof arg == 'object') { if (!Array.isArray(arg)) { for(var k in arg) { t = t.replace(new RegExp('\\{'+key+'\\.'+k+'\\}','g'),arg[k]); } return t; } v = val; arg.forEach(function(a,b){ var k = b; if (b