js锚点定位
提示:在锚点定位的过程中,容易出现上下偏移的情况,因此实际情况中需要进行调整
html
<a href="javascript:;" class="navItems current" navto="#"  >1</a
 <a href="javascript:;" class="navItems" navto="box2" >2</a>
 <a href="javascript:;" class="navItems" navto="box3"  >3</a>
<div>hello</div>
<div id="box2"></div>
<div id="box3"></div>
 
js
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script>
<script>  //根据锚点进行定位
    $('.navItems').click(function() {
    var navto = $(this).attr('navto');
    if(navto != "#") {
        var $div = $('#' + navto);
        var top = $div.offset().top || 0;
        $('html,body').animate({
            'scroll-top': top - 150     //150数字根据实际情况进行调整,如果上下距离过大,就缩小数字,如果距离过近,就增大数字
            }, 500);
    } else {
        $('html,body').animate({
            'scroll-top': 0
           }, 500);
 
        }
    });
    
    //内容滚动的时候,导航栏跟随
     var $navs = $('.nav-menu a'),          // 导航
        $boxs = $('.box'),       // 模块
        $window = $(window),
        navLength = $navs.length - 1;
    $window.on('scroll', function () {
        var scrollTop = $window.scrollTop(),
            len = navLength;
        for (; len > -1; len--) {
            var that = $boxs.eq(len);
        
            if ((scrollTop+300) >= that.offset().top) {  //数字300根据实际情况进行调整
                $navs.removeClass('current').eq(len).addClass('current');
                break;
            }
        }
    });
    
    
    
</script>
 
js禁止页面调试
禁止鼠标右击、开发者工具f12
/禁止鼠标右击
document.oncontextmenu = function() {
event.returnValue = false;
};
//禁用开发者工具F12
document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
let e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 123) {
e.returnValue = false;
return false;
}
};
let userAgent = navigator.userAgent;
if (userAgent.indexOf("Firefox") > -1) {
let checkStatus;
let devtools = /./;
devtools.toString = function() {
checkStatus = "on";
};
setInterval(function() {
checkStatus = "off";
console.log(devtools);
console.log(checkStatus);
console.clear();
if (checkStatus === "on") {
let target = "";
try {
window.open("about:blank", (target = "_self"));
} catch (err) {
let a = document.createElement("button");
a.onclick = function() {
window.open("about:blank", (target = "_self"));
};
a.click();
}
}
}, 200);
} else {
//禁用控制台
let ConsoleManager = {
onOpen: function() {
alert("Console is opened");
},
onClose: function() {
alert("Console is closed");
},
init: function() {
let self = this;
let x = document.createElement("div");
let isOpening = false,
isOpened = false;
Object.defineProperty(x, "id", {
get: function() {
if (!isOpening) {
self.onOpen();
isOpening = true;
}
isOpened = true;
return true;
}
});
setInterval(function() {
isOpened = false;
console.info(x);
console.clear();
if (!isOpened && isOpening) {
self.onClose();
isOpening = false;
}
}, 200);
}
};
ConsoleManager.onOpen = function() {
//打开控制台,跳转
let target = "";
try {
window.open("about:blank", (target = "_self"));
} catch (err) {
let a = document.createElement("button");
a.onclick = function() {
window.open("about:blank", (target = "_self"));
};
a.click();
}
};
ConsoleManager.onClose = function() {
alert("Console is closed!!!!!");
};
ConsoleManager.init();
}