我正在使用这个jQuery代码片段向下滚动隐藏菜单并在向上滚动时显示:
var prev = 0;
var $window = $(window);
var nav = $('.nav');
$window.on('scroll', function(){
var scrollTop = $window.scrollTop();
nav.toggleClass('hidden', scrollTop > prev);
prev = scrollTop;
});
它按预期工作,但我只想让用户在页面向下滚动500px后启动它。
我已将该函数包装在另一个函数中以实现此结果:
$(window).scroll(function() {
if ($(this).scrollTop() >= 500) {
var prev = 0;
var $window = $(window);
var nav = $('.nav');
$window.on('scroll', function(){
var scrollTop = $window.scrollTop();
nav.toggleClass('hidden', scrollTop > prev);
prev = scrollTop;
});
}
});
但是,添加此选项后,当向上或向下滚动超过500px时,切换始终会恢复为class = hidden。
答案 0 :(得分:1)
你的逻辑不是很正确。您只需在当前var hasher = require('wordpress-hash-node');
let wordpressHashPass = "$P$BzPE3JGpq4CUpvpMHhtPh3lZmIoG.s1";
let wordpressPlainTextPass = '(&@fZsImcKq7K3Lmd&qBe!Jx';
var checked = hasher.CheckPassword(wordpressPlainTextPass, wordpressHashPass); //This will return true
console.log(checked); // returns true
var hasher = require('wordpress-hash-node');
let wordpressHashPass = "$P$BzPE3JGpq4CUpvpMHhtPh3lZmIoG.s1";
let wordpressPlainTextPass = 'goodday';
var checked = hasher.CheckPassword(wordpressPlainTextPass, wordpressHashPass); //This will return false
console.log(checked); // returns false
处理程序中添加if
条件。试试这个:
scroll
请注意添加var prev = 0;
var $window = $(window);
var nav = $('.nav');
$window.on('scroll', function() {
var scrollTop = $window.scrollTop();
if ($(this).scrollTop() >= 500) {
nav.toggleClass('hidden', scrollTop > prev);
} else {
nav.addClass('hidden');
}
prev = scrollTop;
});
以满足由于渲染器无法跟上滚动速度而导致值跳跃的情况。