滚动位置jQuery

时间:2014-05-27 15:16:29

标签: jquery scroll

我有一个带有全角视频标题的页面。 用户滚动标题大小后,我删除标题如下:

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"。无法弄清楚原因。

该网站是:http://kk.lopezi.com/

2 个答案:

答案 0 :(得分:1)

这是因为您向下滚动实际滚动条并删除标题页,这使您最终处于管理位置而不是新闻,因为滚动条已经拉下并且新位于最顶层的。它将被解决,要么你不向下滚动,只需向上拉(使用转换或动画框),然后删除或不删除标题页。

123

这是滚动条位于最顶部的第一页,当您单击箭头时,

enter image description here

它向下滚动并同时进行转换。所以你最终在docment的中间,而不是顶部。

enter image description here

并且由于标题被删除,新闻部分不再位于中间位置,它位于标题所在的顶部。因为你已经向下滚动,你的滚动停留在中间,而新闻现在位于最顶端。这就是为什么我建议您只进行转换或不删除标题。

enter image description here

所以如果您选择不删除标题,这就是它的工作原理,以便新闻保持在中间而不是顶部。

如果要删除标题,可以在删除标题后使用此代码。

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

}