嗨 Stackoverflow 研究员,
我想创建一个页面滚动的网站,但我不想使用任何外部库。所以我想出了这种技术,它非常适合本地测试,但我想知道这段代码是否合乎逻辑,或者这可能在整个网站中存在潜在问题。我之所以问,是因为在我的搜索中,我没有为单页网站找到这种方法,我想知道为什么不这样做。所以请指出我正确的方向。欢迎任何建议或意见。谢谢你的支持。https://jsfiddle.net/emalik/xpvt214o/539446/
var current
$(function() {
var timerId;
$('.one-page').bind('DOMMouseScroll mousewheel', function(e){
e.preventDefault();
var $current = $('section.current');
if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
//console.log(e.originalEvent.wheelDelta);
//console.log("UP");
$prev = $current.prev();
if ($prev.length) {
clearTimeout(timerId);
timerId = setTimeout(function(){
$current.removeClass('current');
$prev.addClass('current');
$('body,html').animate({
scrollTop: $('.current').offset().top
}, 200);
}, 200)
}
}
else{
// console.log("DOWN");
$next = $current.next();
if ($next.length) {
clearTimeout(timerId);
timerId = setTimeout(function(){
$current.removeClass('current');
$next.addClass('current');
$('body,html').animate({
scrollTop: $('.current').offset().top
}, 200);
, 200)
}
}
});
});