Build mobile apps with simple HTML, CSS, and JS components. http://goratchet.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.4 KiB

/* ----------------------------------
* TABS v1.0.0
* Licensed under The MIT License
* http://opensource.org/licenses/MIT
* ---------------------------------- */
!function () {
"use strict";
var getTarget = function (target) {
var i, popovers = document.querySelectorAll('.segmented-controller li a');
for (; target && target !== document; target = target.parentNode) {
for (i = popovers.length; i--;) {
if (popovers[i] === target) return target;
}
}
};
window.addEventListener("touchend", function (e) {
var activeTab,
activeBody,
targetBody,
targetTab,
className = 'active',
classSelector = '.' + className,
targetAnchor = getTarget(e.target);
if (!targetAnchor) {
return;
}
targetTab = targetAnchor.parentNode;
activeTab = targetTab.parentNode.querySelector(classSelector);
if (activeTab) {
activeTab.classList.remove(className);
}
targetTab.classList.add(className);
if (!targetAnchor.hash) {
return;
}
targetBody = document.querySelector(targetAnchor.hash);
if (!targetBody) {
return;
}
activeBody = targetBody.parentNode.querySelector(classSelector);
if (activeBody) {
activeBody.classList.remove(className);
}
targetBody.classList.add(className);
});
window.addEventListener('click', function (e) {
if (getTarget(e.target)) e.preventDefault();
});
}();