所以我有一个页面运行以下滚动代码(复制用于其他教程):
$(document).ready(function () {
var divs = $('.mydiv');
var dir = 'up'; // wheel scroll direction
var div = 0; // current div
$(document.body).on('DOMMouseScroll mousewheel', function (e) {
if (e.originalEvent.detail > 0 || e.originalEvent.wheelDelta < 0) {
dir = 'down';
} else {
dir = 'up';
}
// find currently visible div :
div = -1;
divs.each(function(i){
if (div<0 && ($(this).offset().top >= $(window).scrollTop())) {
div = i;
}
});
if (dir == 'up' && div > 0) {
div--;
}
if (dir == 'down' && div < divs.length) {
div++;
}
//console.log(div, dir, divs.length);
$('html,body').stop().animate({
scrollTop: divs.eq(div).offset().top
}, 1500);
return false;
});
$(window).resize(function () {
$('html,body').scrollTop(divs.eq(div).offset().top);
});
});
但是现在我还有一个隐藏的印记,如果按下某个按钮就会出现,这一切都很好但是印记itselfe相当长,因此有一个自己的滚动条,所以高度是500px但是里面的实际内容更长。如果您现在尝试使用鼠标滚轮滚动它首先滚动背景(我猜身体)然后滚动我的印记的div:如何禁用所有滚动背景并让我的所有鼠标滚轮命令进入印记div(如只要它是开放的)
overflow:hidden;
没有工作,因为jquery代码会覆盖它(并且正文已经覆盖了:隐藏;使它看起来很好)
以下是显示印记的代码:
$('.imp').click(function(){
$('.impressum').show('slow');
});
$('.imp-close').click(function(){
$('.impressum').hide('slow');
});