post.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. $(document).ready(function(){
  2. var navHeight = $("#navbar").height();
  3. var toc = $("#toc");
  4. var main = $("main");
  5. var tocL = toc.offset().left;
  6. var tocT = navHeight + (toc.offset().top - main.offset().top);
  7. var tocLimMin = main.offset().top - navHeight;
  8. var tocLimMax = $("#comments").offset().top - navHeight;
  9. $(window).scroll(function(){
  10. var scroH = document.body.scrollTop + document.documentElement.scrollTop;
  11. if(tocLimMin <= scroH && scroH <= tocLimMax){
  12. toc.css({
  13. "display": "block",
  14. "position": "fixed",
  15. "left": tocL,
  16. "top": tocT
  17. })
  18. }else if(scroH <= tocLimMin){
  19. toc.css({
  20. "position": "",
  21. "left": '',
  22. "top": ''
  23. })
  24. } else if(scroH > tocLimMax){
  25. toc.css("display","none")
  26. }
  27. })
  28. tocbot.init({
  29. tocSelector: '#tocbot',
  30. contentSelector: '.post-content',
  31. headingSelector: 'h1, h2, h3, h4, h5, h6',
  32. linkClass: 'tocbot-link',
  33. activeLinkClass: 'tocbot-active-link',
  34. listClass: 'tocbot-list',
  35. isCollapsedClass: 'tocbot-is-collapsed',
  36. collapsibleClass: 'tocbot-is-collapsible',
  37. scrollSmooth: true,
  38. });
  39. // add Materia-T's class to hexo
  40. $("blockquote").addClass("blockquote");
  41. })