Jump to content

User:Ugog Nizdast/FloatingTOC.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ugog Nizdast (talk | contribs) at 00:33, 12 May 2016 (importstyle neeeded?). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
$(function() {
    importStylesheet('User:Ugog Nizdast/FloatingTOC.css');

    var itm = document.getElementById("toc");
    var leftDefault, hideDefault;

    if (itm) { //check if toc exists
        var cln = itm.cloneNode(true); // clone and append the toc
        cln.id = "toc2";
        document.body.appendChild(cln);

        $('#toc2').wrap("<div class='content1' id='main1' ></div>"); //encase it with header and container
        var header = "<div class='header1' id= 'header1'><span id='hide'>Hide</span></div>";
        $('.content1').append(header);
        $('#main1').wrapAll("<div class='container1' id='main2'></div>");

        var useless = document.getElementsByClassName("toctoggle")[1]; //remove the damn not working "hide" option
        $(useless).remove();

        if (leftDefault) { //config variables
            $("#main2").css('right', "");
        }
        if (hideDefault) {
            $("#toc2").css('display', "none");
        }

        $(".header1").click(function () { //when clicked, collapse! vice-versa
            $header = $(this);
            $content = $header.prev();
            $content.slideToggle( function () {
                $header.text(function () {
                    return $content.is(":visible") ? "Hide" : "Show";
                });
            });
        });
    }
});