微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无限循环页面

如何解决无限循环页面

我希望做一些类似于这里解决的事情: Continuous Looping Page (Not Infinite Scroll)

但我试图做到这一点,当您到达某个 div ID (#loop-end) 时,您会转到另一个 div ID (#loop-start)。

我尝试过的一些例子是:

    $(document).scroll(function(){
     if (document.documentElement.clientHeight + $(window).scrollTop() >= $(document).height()) {
    $(document).scrollTop(0)
} else if ($(window).scrollTop() < 1) {
    $(document).scrollTop($(document).height())
}
    });

您可以在此处的示例中看到:https://codepen.io/akmalmo/pen/VwPRMaK

我也在探索是否可以在下面做这样的事情-感谢@prettyInPink的推动-我对此唯一的问题是了解我如何可以在相反的方向上做同样的事情+也使其工作调整窗口大小 https://codepen.io/akmalmo/pen/ZELPxje

 var loopend = $('#loop-end').offset().top,$window = $(window);

$window.scroll(function() {
    if ( $window.scrollTop() >= loopend ) {
    $(document).scrollTop($('#loop-start').offset().top)
    }
});

基本上。第一个代码示例,我正在寻找可以在两个方向上无限滚动的代码示例。但是在#loop-start 和#loop-end 内循环而不是在文档结束和文档顶部循环。我在这里工作,我只需要让它在调整大小时工作,而不是在页面加载时立即跳转到循环结束/开始

编辑

展示我的最新探索。我真的很接近这个。我正在努力解决的最后一件事是将其全部包装在一个函数中(+ 重新计算窗口调整大小时的偏移值,puh),以使其在达到特定 div 时启动。但是这样做会与循环发生冲突


var element_position = $('#loop-init').offset().top;

$(window).on('scroll',function() {
    var y_scroll_pos = window.pageYOffset;
    var scroll_pos_test = element_position;

    if(y_scroll_pos > scroll_pos_test) {


 var loopend = $('#loop-end').offset().top;
 var loopstart = $('#loop-start').offset().top;

$(document).scroll(function() {
    if ( $(document).scrollTop() >= loopend ) {
    $(document).scrollTop($('#loop-start').offset().top)
    }
  else if ( $(document).scrollTop() <= loopstart ) {
    $(document).scrollTop($('#loop-end').offset().top)
    }
  
});

         }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。