mirror of
https://e.coding.net/circlecloud/citycraft.cn.git
synced 2024-11-01 08:38:46 +00:00
52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
|
(function($) {
|
||
|
$(document).ready(function(){
|
||
|
|
||
|
// putting lines by the pre blocks
|
||
|
$("pre").each(function(){
|
||
|
var pre = $(this).text().split("\n");
|
||
|
var lines = new Array(pre.length+1);
|
||
|
for(var i = 0; i < pre.length; i++) {
|
||
|
var wrap = Math.floor(pre[i].split("").length / 70)
|
||
|
if (pre[i]==""&&i==pre.length-1) {
|
||
|
lines.splice(i, 1);
|
||
|
} else {
|
||
|
lines[i] = i+1;
|
||
|
for(var j = 0; j < wrap; j++) {
|
||
|
lines[i] += "\n";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
$(this).before("<pre class='lines'>" + lines.join("\n") + "</pre>");
|
||
|
});
|
||
|
|
||
|
var headings = [];
|
||
|
|
||
|
var collectHeaders = function(){
|
||
|
headings.push({"top":$(this).offset().top - 15,"text":$(this).text()});
|
||
|
}
|
||
|
|
||
|
if($(".markdown-body h1").length > 1) $(".markdown-body h1").each(collectHeaders)
|
||
|
else if($(".markdown-body h2").length > 1) $(".markdown-body h2").each(collectHeaders)
|
||
|
else if($(".markdown-body h3").length > 1) $(".markdown-body h3").each(collectHeaders)
|
||
|
|
||
|
$(window).scroll(function(){
|
||
|
if(headings.length==0) return true;
|
||
|
var scrolltop = $(window).scrollTop() || 0;
|
||
|
if(headings[0] && scrolltop < headings[0].top) {
|
||
|
$(".current-section").css({"opacity":0,"visibility":"hidden"});
|
||
|
return false;
|
||
|
}
|
||
|
$(".current-section").css({"opacity":1,"visibility":"visible"});
|
||
|
for(var i in headings) {
|
||
|
if(scrolltop >= headings[i].top) {
|
||
|
$(".current-section .name").text(headings[i].text);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$(".current-section a").click(function(){
|
||
|
$(window).scrollTop(0);
|
||
|
return false;
|
||
|
})
|
||
|
});
|
||
|
})(jQuery)
|