我有一个带有全角视频标题的页面。 用户滚动标题大小后,我删除标题如下:
var startScroll = $('.header').outerHeight();
$(window).scroll(function() {
var scrollTop = $window.scrollTop();
/*if (scrollTop > startScroll) {
$('.inline-menu').addClass('menu-fixed').css('top', adminBar);
} else {
$('.inline-menu').removeClass('menu-fixed').removeAttr('style');
}*/
if(scrollTop > startScroll) {
// do something
$('.header').addClass('header-remove');
$('.wrap').addClass('wrap-remove');
$('.inline-menu').addClass('menu-fixed').css('top', adminBar);
/*$(".inline-menu").css({top, startScroll;
startScroll = 0;
window.scrollTo(0,0);
$('.main').scrollTo(0,0);*/
}
});
问题是该页面跳转了第一个内容" news"一旦您滚动页面直接拉到"管理Positionierung"。无法弄清楚原因。
答案 0 :(得分:1)
这是因为您向下滚动实际滚动条并删除标题页,这使您最终处于管理位置而不是新闻,因为滚动条已经拉下并且新位于最顶层的。它将被解决,要么你不向下滚动,只需向上拉(使用转换或动画框),然后删除或不删除标题页。
这是滚动条位于最顶部的第一页,当您单击箭头时,
它向下滚动并同时进行转换。所以你最终在docment的中间,而不是顶部。
并且由于标题被删除,新闻部分不再位于中间位置,它位于标题所在的顶部。因为你已经向下滚动,你的滚动停留在中间,而新闻现在位于最顶端。这就是为什么我建议您只进行转换或不删除标题。
所以如果您选择不删除标题,这就是它的工作原理,以便新闻保持在中间而不是顶部。
如果要删除标题,可以在删除标题后使用此代码。
window.scrollTo(0,0);
将滚动到x:0,y:0。
答案 1 :(得分:0)
所以这是解决问题的添加/编辑代码
if(scrollTop > startScroll) {
// do something
$('.header').addClass('header-remove');
$('.wrap').addClass('wrap-remove');
$('.inline-menu').addClass('menu-fixed').css('top', adminBar);
window.scrollTo(0,0);
startScroll = 22222; //make the condition always true so it executes only once
}