当某个部分显示在滚动条上时,滚动条出现错误
scroll is wrong while one section is showing on scroll
这是我的演示
jQuery(document).ready(function () {
$('ul.subMenu li a').click(function () {
jQuery('ul.subMenu li a.curM').removeClass('curM');
jQuery(this).addClass('curM');
var target = $(this).attr('href');
var getHeaderHeight = jQuery(".header_wrap").height();
$('html, body').stop().animate({
'scrollTop': $(target).offset().top - getHeaderHeight - (getHeaderHeight*!$(".header_wrap").hasClass("fixed_nav_menu"))
}, 'fast', 'swing');
});
jQuery(window).scroll(function () {
jQuery('.header_wrap').addClass('fixed_nav_menu');
if (jQuery(document).scrollTop() == 0) {
jQuery('.header_wrap').removeClass('fixed_nav_menu');
}
jQuery(".hidden_section").fadeIn(1500);
});
});
演示中名为"第三节"的部分在滚动过程中显示,正因为如此,当你点击它后面的每个部分时,例如"Affiliations",你会看到它现在没有滚动到"Affilinations"部分的相应部分。但是第二次当您单击菜单项"一切正常"时,它会滚动到相应的部分。
我该如何解决这个问题,这样每次当你点击菜单项时,渐变部分都不会阻止滚动相应的部分?
问题在您的方法中:
- 您试图在导航(例如发布部分(完成后显示(淡入效果(
third-section
div,这就是为什么third-section
显示在屏幕顶部而不是publication
部分
我做了什么:
-
窗口上的
scroll
事件是在导航完成后触发的,因此在scroll
事件处理程序中添加了在fade-in
效果中显示div的逻辑。 -
将目标元素
third-section
的Offset top
位置与当前视图端口位置进行检查,基于当滚动或导航时向用户显示third-section
具有fade-in
效果
JS代码:
$(window).scroll(function () {
$('.header_wrap').addClass('fixed_nav_menu');
if ($(document).scrollTop() === 0) {
$('.header_wrap').removeClass('fixed_nav_menu');
}
var top_of_object = $(".hidden_section").offset().top;
var bottom_of_window = $(window).scrollTop() + $(window).height();
/* If the object is completely visible in the window, fade it it */
if (bottom_of_window > top_of_object) {
$('.hidden_section').animate({
'opacity': '1'
}, 1500);
}
});
CSS:
.hidden_section {
/*display:none;*/
opacity:0
}
注意:不要使用Jquery
&$
在您的代码中,请在整个代码库中尝试其中一种表示法,否则您的代码看起来太混乱,无法阅读
现场演示@JSFiddle
相关文章:
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 禁用(而不是隐藏)浏览器滚动条
- 在firefox和chrome中的左侧显示iframe滚动条
- jquery:将动画绑定到滚动条位置的更好方法
- 在窗口中添加滚动条
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 使用没有插件的javascript自定义滚动条
- CodeMirror.禁用垂直滚动条
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 可以'无法使滚动条正常工作
- 强制滚动条覆盖页面内容
- 如何隐藏滚动条,但希望它继续工作
- 滚动所有嵌套的滚动条,使HTML元素进入视图
- 使用浏览器滚动条而不是iframe滚动条
- 滚动条在关闭引导对话框后消失
- 带有转换比例错误的自定义JavaScript滚动条(jScrollPane)
- 错误的代码语法(滚动条)
- 当某个部分显示在滚动条上时,滚动条出现错误
- jquery UI可拖动在IE10的错误时,拖动滚动条
- 动态内容滚动条错误