jQuery检测滚动%而不是px

时间:2013-08-30 10:04:07

标签: jquery scroll pixels

我正在寻找一种方法来检测按%而不是px滚动的页面数量,请考虑:

function doBanner() {
  var scrollPos = $( window ).scrollTop();
     if ( scrollPos > 250 && !uped && !doing){
   up();
     } else if ( scrollPos <= 250 && !doing && uped ) {
   down();
}

基本上这是网页上弹出横幅的一部分,一旦用户滚动250px,横幅就会弹出,一旦用户滚动回到250px,它将再次弹出(高度0,高度40)或从顶部开始。

此方法存在的问题是,在某些页面上,用户无需滚动250px即可查看页面上的所有内容,因此不会显示横幅。

我可以考虑任何建议/替代方案吗?

如果你知道使用%而不是px的方法,那就太好了:)

1 个答案:

答案 0 :(得分:1)

我会根据当前窗口大小计算基数的百分比。 您可以使用jQuery的函数widthheight来获取这些值:

var windowsWidtdh = $(window).width();
var windowsHeight = $(window).height();

然后你可以这样做:

var scrolledPercentage = (scrollPos * 100) / windowsHeight;