当前位置:  开发笔记 > 编程语言 > 正文

禁用在页面上向后滚动

如何解决《禁用在页面上向后滚动》经验,为你挑选了1个好方法。

一旦超出某个点,我需要禁用在html页面上向上滚动的功能.我还需要一种机制来返回到所述页面的顶部.

我已经尝试使用以下代码完成此操作,但它还没有为我工作,因为页面是响应的(因此点的位置可能会随窗口的大小而改变).

$(function() {
    var scrollPoint = 200;
    var scrolledPast = false;
    $(window).scroll(function() {
        $(window).scrollTop() > scrollPoint ? scrolledPast = true : '';
        $(window).scrollTop() < scrollPoint && scrolledPast == true ?     
        $(window).scrollTop(scrollPoint) : '';
    }).scroll();
});  

这可以用Javascript/JQuery完成吗?



1> teynon..:

var minScroll = 200;
var scrollPoint = 0;

function setPage(id) {
  scrollPoint = $("#" + id).offset().top;
  document.location.href = "#" + id;
}

$(function() {
  $(window).on("scroll", function() {
    var current = $(window).scrollTop();
    if (scrollPoint >= minScroll) {
      if (current < scrollPoint) $(window).scrollTop(scrollPoint);
      else {
        //scrollPoint = $(window).scrollTop();
      }
    } else {
      //scrollPoint = $(window).scrollTop();
    }
  });

  $("#return").on("click", function() {
    scrollPoint = 0;
    $(window).scrollTop(0);
  });

  wave("page1");
  wave("page2");
  wave("page3");
});

function wave(id) {
  var maxWave = 30;
  var minWave = 2;

  for (var i = 0; i < 50; i++) {
    var waveSize = Math.floor(Math.random() * (maxWave - minWave) + minWave);
    var j = 0;

    for (j; j < waveSize; j++) {
      for (var k = 0; k < j; k++) {
        $("#" + id).append("#");
      }
      console.log(j + " vs " + waveSize);
      if (j == waveSize - 1) $("#" + id).append(")");
      else $("#" + id).append("\\");

      $("#" + id).append("
"); } for (j = j - 2; j >= 0; j--) { for (var k = 0; k < j; k++) { $("#" + id).append("#"); } $("#" + id).append("/
"); } } }
#return {
  position: fixed;
  top: 55px;
  right: 5px;
}
#pg1 {
  position: fixed;
  top: 75px;
  right: 5px;
}
#pg2 {
  position: fixed;
  top: 95px;
  right: 5px;
}
#pg3 {
  position: fixed;
  top: 115px;
  right: 5px;
}







Page 1
Page 2
Page 3
推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有