123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- define([], function () {
- return function () {
- var self = this
- var tabs = document.createElement("ul")
- tabs.classList.add("tabs")
- var container = document.createElement("div")
- function gotoTab(li) {
- for (var i = 0; i < tabs.children.length; i++)
- tabs.children[i].classList.remove("visible")
- while (container.firstChild)
- container.removeChild(container.firstChild)
- li.classList.add("visible")
- var tab = document.createElement("div")
- tab.classList.add("tab")
- container.appendChild(tab)
- li.child.render(tab)
- }
- function switchTab() {
- gotoTab(this)
- return false
- }
- self.add = function (title, d) {
- var li = document.createElement("li")
- li.textContent = title
- li.onclick = switchTab
- li.child = d
- tabs.appendChild(li)
- var anyVisible = false
- for (var i = 0; i < tabs.children.length; i++)
- if (tabs.children[i].classList.contains("visible")) {
- anyVisible = true
- break
- }
- if (!anyVisible)
- gotoTab(li)
- }
- self.render = function (el) {
- el.appendChild(tabs)
- el.appendChild(container)
- }
- return self
- }
- })
|