|
2 | 2 | (function ($) {
|
3 | 3 | $.fn.toc = function (options) {
|
4 | 4 | var defaults = {
|
5 |
| - noBackToTopLinks: false, |
6 | 5 | title: '<i>Jump to...</i>',
|
7 | 6 | minimumHeaders: 3,
|
8 | 7 | headers: 'h1, h2, h3, h4, h5, h6',
|
|
35 | 34 | this.id = $(this).text().trim().replace(/\s+/g, '-').toLowerCase();
|
36 | 35 | }
|
37 | 36 | return this.id;
|
38 |
| - }), output = $(this); |
| 37 | + }); |
| 38 | + |
| 39 | + var output = $(this); |
39 | 40 |
|
40 | 41 | // Check if there are any headers
|
41 | 42 | if (!headers.length || headers.length < settings.minimumHeaders || !output.length) {
|
|
59 | 60 |
|
60 | 61 | var get_level = function (ele) { return parseInt(ele.nodeName.replace("H", ""), 10); };
|
61 | 62 | var highest_level = headers.map(function (_, ele) { return get_level(ele); }).get().sort()[0];
|
62 |
| - var return_to_top = '<i class="icon-arrow-up back-to-top"> </i>'; |
| 63 | + var level = get_level(headers[0]), this_level; |
| 64 | + var html = settings.title + " <" + settings.listType + " class=\"" + settings.classes.list + "\">"; |
63 | 65 |
|
64 |
| - var level = get_level(headers[0]), |
65 |
| - this_level, |
66 |
| - html = settings.title + " <" + settings.listType + " class=\"" + settings.classes.list + "\">"; |
67 | 66 | headers.each(function (_, header) {
|
68 | 67 | this_level = get_level(header);
|
69 |
| - if (!settings.noBackToTopLinks && this_level === highest_level) { |
70 |
| - $(header).addClass('top-level-header').after(return_to_top); |
71 |
| - } |
72 | 68 | if (this_level === level) { // same level as before; same indenting
|
73 | 69 | html += "<li class=\"" + settings.classes.item + "\">" + createLink(header);
|
74 | 70 | } else if (this_level <= level) { // higher level than before; end parent ol
|
|
86 | 82 | level = this_level; // update for the next one
|
87 | 83 | });
|
88 | 84 | html += "</" + settings.listType + ">";
|
89 |
| - |
90 |
| - if (!settings.noBackToTopLinks) { |
91 |
| - $(document).on('click', '.back-to-top', function () { |
92 |
| - $(window).scrollTop(0); |
93 |
| - window.location.hash = ''; |
94 |
| - }); |
95 |
| - } |
96 |
| - |
97 | 85 | render[settings.showEffect]();
|
98 | 86 | };
|
99 | 87 | })(jQuery);
|
0 commit comments