Skip to content
Snippets Groups Projects
debug.js 3.06 KiB
Newer Older
  • Learn to ignore specific revisions
  • //--------------------------------------------------------------------
    // Tabs
    //--------------------------------------------------------------------
    
    var tabLinks = new Array();
    var contentDivs = new Array();
    
    
    
        // Grab the tab links and content divs from the page
        var tabListItems = document.getElementById('tabs').childNodes;
        console.log(tabListItems);
    
        for (var i = 0; i < tabListItems.length; i++) {
            if (tabListItems[i].nodeName == "LI") {
    
                var tabLink = getFirstChildWithTagName(tabListItems[i], 'A');
                var id = getHash(tabLink.getAttribute('href'));
                tabLinks[id] = tabLink;
                contentDivs[id] = document.getElementById(id);
            }
        }
    
        // Assign onclick events to the tab links, and
        // highlight the first tab
        var i = 0;
    
    
            tabLinks[id].onclick = showTab;
            tabLinks[id].onfocus = function () { this.blur() };
    
                tabLinks[id].className = 'active';
            }
    
        }
    
        // Hide all content divs except the first
        var i = 0;
    
    
        for (var id in contentDivs) {
            if (i != 0) {
    
                console.log(contentDivs[id]);
                contentDivs[id].className = 'content hide';
            }
    
        }
    }
    
    //--------------------------------------------------------------------
    
    
        var selectedId = getHash(this.getAttribute('href'));
    
        // Highlight the selected tab, and dim all others.
        // Also show the selected content div, and hide all others.
    
        for (var id in contentDivs) {
            if (id == selectedId) {
    
                tabLinks[id].className = 'active';
                contentDivs[id].className = 'content';
            }
    
                tabLinks[id].className = '';
                contentDivs[id].className = 'content hide';
            }
        }
    
        // Stop the browser following the link
        return false;
    }
    
    //--------------------------------------------------------------------
    
    
    function getFirstChildWithTagName(element, tagName) {
        for (var i = 0; i < element.childNodes.length; i++) {
            if (element.childNodes[i].nodeName == tagName) {
    
                return element.childNodes[i];
            }
        }
    }
    
    //--------------------------------------------------------------------
    
    
        var hashPos = url.lastIndexOf('#');
        return url.substring(hashPos + 1);
    }
    
    //--------------------------------------------------------------------
    
    
        elem = document.getElementById(elem);
    
    
        if (elem.style && elem.style['display']) {
    
            // Only works with the "style" attr
            var disp = elem.style['display'];
        }
    
            // For MSIE, naturally
            var disp = elem.currentStyle['display'];
        }
    
        else if (window.getComputedStyle) {
    
            // For most other browsers
            var disp = document.defaultView.getComputedStyle(elem, null).getPropertyValue('display');
        }
    
        // Toggle the state of the "display" style
        elem.style.display = disp == 'block' ? 'none' : 'block';
    
        return false;
    }