server/aspnetapp/wwwroot/lib/smart-nav.js
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/**
* @description 文档标题生成快捷导航,不支持IE浏览器
* @tutorial https://www.zhangxinxu.com/wordpress/?p=9707
* @author zhangxinxu(.com) 2020-11-23
*/
var smartNav = function (elements, options) {
var defaults = {
nav: null
};
var params = Object.assign({}, defaults, options || {});
if (typeof elements == 'string') {
elements = document.querySelectorAll(elements);
}
if (!elements.forEach) {
return;
}
// 导航元素创建,如果没有
if (!params.nav) {
params.nav = document.createElement('ul');
params.nav.className = 'title-nav-ul nav nav-pills nav-stacked nav-right';
document.body.appendChild(params.nav);
//$(".col-md-3").html(params.nav);
}
var lastScrollTop = document.scrollingElement.scrollTop;
var zxxObserver = new IntersectionObserver(function (entries) {
if (params.isAvoid) {
return;
}
entries.reverse().forEach(function (entry) {
if (entry.isIntersecting) {
entry.target.active();
} else if (entry.target.isActived) {
entry.target.unactive();
}
});
lastScrollTop = document.scrollingElement.scrollTop;
});
elements.forEach(function (ele, index) {
var id = ele.id || ('smartNav' + Math.random()).replace('0.', '');
ele.id = id;
// 导航元素创建
var eleNav = document.createElement('li');
var eleLink = document.createElement('a');
eleLink.href = '#' + id;
eleNav.className = 'title-nav-li';
eleNav.appendChild(eleLink);
eleLink.innerHTML = ele.textContent;
params.nav.appendChild(eleNav);
ele.active = function () {
// 对应的导航元素高亮
eleNav.parentElement.querySelectorAll('.active').forEach(function (eleActive) {
后面还有 45 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。