Difference between revisions of "Template:Shanghaitech/js"

 
(7 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
function parseContentTitles() {
 
function parseContentTitles() {
 
     titles = document.getElementById("content-block").getElementsByTagName('h2');
 
     titles = document.getElementById("content-block").getElementsByTagName('h2');
 +
    var count = 0;
 
     if (titles.length === 0) {
 
     if (titles.length === 0) {
 
         $("#mySidenav").remove();
 
         $("#mySidenav").remove();
Line 12: Line 13:
 
         for (var i = 0; i < titles.length; i++) {
 
         for (var i = 0; i < titles.length; i++) {
 
             title = titles[i];
 
             title = titles[i];
             title.id = title.textContent.replace(/\ /g, '-');
+
             title.id = 'passageTitle' + count;
 +
            count += 1;
 
             createSidenavElement(title);
 
             createSidenavElement(title);
 
         }
 
         }
 +
        $(window).load(adjustSidenavHeight);
 +
        $(window).resize(adjustSidenavHeight);
 
     }
 
     }
 
}
 
}
Line 27: Line 31:
 
     createEmptySidenav();
 
     createEmptySidenav();
 
     parseContentTitles();
 
     parseContentTitles();
 +
}
 +
 +
function adjustSidenavHeight() {
 +
    $("#sidenav-wrapper").removeClass("scroll").removeClass("narrower").removeClass("narrow");
 +
    narrowSidebar();
 +
}
 +
 +
function narrowSidebar() {
 +
    var lastHeight = $("#sidenav-wrapper").height();
 +
    if ($("#sidenav-wrapper").height() >= $("#mySidenav").height() * 0.9) {
 +
        narrowerSidebar()
 +
    }
 +
    setTimeout(function () {
 +
        if ($("#sidenav-wrapper").height() != lastHeight) {
 +
            narrowSidebar()
 +
        } else {
 +
            setTimeout(this, 500)
 +
        }
 +
    }, 500);
 +
}
 +
 +
function narrowerSidebar() {
 +
    if (!$("#sidenav-wrapper").hasClass("narrow")) {
 +
        $("#sidenav-wrapper").addClass("narrow");
 +
    } else if (!$("#sidenav-wrapper").hasClass("narrower")) {
 +
        $("#sidenav-wrapper").addClass("narrower");
 +
    } else {
 +
        $("#sidenav-wrapper").addClass("scroll");
 +
    }
 
}
 
}
  
 
$(document).ready(createSidenav);
 
$(document).ready(createSidenav);
 +
  
 
</script></html>
 
</script></html>

Latest revision as of 17:58, 30 October 2017