【发布时间】:2019-11-04 21:48:35
【问题描述】:
有一些单页应用程序,用户可以在其中进行垂直滚动——但页面看起来暂停并水平滚动——然后清除一个部分。
- https://color-of-the-year.com/
- https://highline.huffingtonpost.com/articles/en/poor-millennials/
- https://ascc.bornfight.com/
- https://kubrick.life/clockwork11/
我不确定他们是如何做到这一点的——我已经看到应用了变换样式,但不确定如果用户正常滚动,自然会出现的元素会发生什么变化。
我添加了 jquery 任性函数来检测嵌套展开的时间。
类似这样的:
这是 HTML 片段。幻灯片 1 是整页元素,幻灯片 5 和 6 也是如此。这些可以是菜单的锚点。我有兴趣在这里创建的行为——当用户接近嵌套单元时——它锁定在幻灯片 2 的顶部,然后转换幻灯片 3 和 4。
$win.on('scroll', function() {
var top = $win.scrollTop() / 3;
console.log("top", top);
$nested.css('transform', 'translate(' + -top + 'px, 0)');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="section">slide 1</div>
<div class="nested">
<div class="section first">slide 2</div>
<div class="section second">slide 3</div>
<div class="section third">slide 4</div>
</div>
<div class="section">slide 5</div>
<div class="section">slide 6</div>
【问题讨论】:
-
我试图捕捉嵌套部分高度和宽度、计数的必要信息——滚动在你向下滚动时工作——我现在试图清除粘性和水平滚动一次最后一部分被清除了——但它的故障继续到幻灯片 5 并反转了功能——jsfiddle.net/zny0c8s6
标签: javascript horizontal-scrolling vertical-scrolling