标签: window-scroll

是否可以将 CSS Scroll Snap 应用于 HTML 标签而不是 Body 标签

CSS Scroll Snap 允许浏览器快速滚动到容器中的元素。要将相同的逻辑应用于垂直页面滚动,我发现它必须应用于<body>而不是<html>(见下文)。这不是一个主要问题,但它确实有效地创建了一个滚动区域,<body>而不是使用窗口滚动。

虽然这看起来不错,但它有几个副作用:

  • javascript 中不能再使用窗口滚动功能
  • Apple 浏览器上的橡皮筋效果响应速度较慢,Mac 上的 Chrome 中也不存在。

我希望它看起来尽可能原生,因此唯一的结论是将它应用于<html>而不是<body>. 然而,以这种方式应用它会阻止它运行。如果您将它应用于两者,它将在 Safari 中正确呈现,但在 Chrome 和 Firefox 中仍然损坏。

问题不是因为<body>在父元素和子元素之间创建了分离,就像<div>在层次结构中添加了另一个元素一样,它仍然可以正常运行。

这是功能代码,但应用于<body>而不是<html>.

<html>
   <body>
      <div class="extra_parent">
         <div class="child">ONE</div>
         <div class="child">TWO</div>
         <div class="child">THREE etc..</div>
      </div>
   </body>
</html>

body {
    margin: 0;
    padding: 0;
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    height: 100vh;
}

html {
    height: 100vh;
    overflow: hidden
}

.child {
    position: relative;
    height: …
Run Code Online (Sandbox Code Playgroud)

css window-scroll scroll-snap-points

5
推荐指数
1
解决办法
2644
查看次数

Jquery 窗口滚动。只打一次电话

嗨,我有一个关于 jquery 窗口滚动功能的问题。我有这样的代码。

$(window).scroll(function(){
        if($(window).scrollTop() > $(".pages").offset().top) {
            $('.top-slider').slick('slickPause');
        }else {
            $('.top-slider').slick('slickPlay');
        }
    });
Run Code Online (Sandbox Code Playgroud)

好的,每次滚动时,如果 first 为真,它会调用每 1px 滚动窗口。如果为真,那是否只调用一次,但如果其他为真,则检查滚动条是否只调用一次?

感谢您的回答:)

javascript jquery call window-scroll

2
推荐指数
1
解决办法
3695
查看次数