(function(window, document) { var TabBar = function(options) { options = options || {}; this.tabClass = options.tabClass || 'tab'; //容器元素 this.itemClass = options.itemClass || 'tab-item'; //选项样式名称 this.selectedClass = options.selectedClass || 'active'; //选项激活样式名称 this.itemIconClass = options.itemIconClass || 'tab-item-icon'; //选项图标样式名称 this.itemLabelClass = options.itemLabelClass || 'tab-item-label'; //选项标题样式名称 this.list = options.list || []; //选项列表 this.selected = 0; if (this.list.length) { this.render(); } this.tabElem = document.querySelector('.' + this.tabClass); this.itemElems = [].slice.call(document.querySelectorAll('.' + this.itemClass)); this.handleOldVersion(); this.initEvent(); }; var proto = TabBar.prototype; proto.refresh = function() { this.itemElems = [].slice.call(document.querySelectorAll('.' + this.itemClass)); }; proto.handleOldVersion = function() { var list = this.list; if (!list.length) { for (var i = 0; i < this.itemElems.length; i++) { list.push({ url: this.itemElems[i].getAttribute('href') }); } } window.__wap2app_old_tab_item_urls = []; for (var i = 0; i < list.length; i++) { __wap2app_old_tab_item_urls.push(list[i].url); } }; proto.render = function() { var tabbarElem = document.createElement('nav'); tabbarElem.className = this.tabClass; if (!this.list[0].iconPath) { tabbarElem.className = tabbarElem.className + ' no-icon'; } if (!this.list[0].text) { tabbarElem.className = tabbarElem.className + ' no-label'; } var html = []; for (var i = 0; i < this.list.length; i++) { html.push(this.renderItem(this.list[i], i)); } tabbarElem.innerHTML = '