scrollreveal.js 和 flexbox

Posted

技术标签:

【中文标题】scrollreveal.js 和 flexbox【英文标题】:scrollreveal.js and flexbox 【发布时间】:2018-06-18 03:01:03 【问题描述】:

我在将 scrollreveal.js 与 flexbox 一起使用时遇到问题。

我使用 display flex 在页面上创建了几个两列行,当尝试使用 scrollreveal 引用分别显示每一列时,只有其中一个正在工作。

在仍然能够保持 flex 属性的同时有任何解决方法吗?

html

<div class="grid">
  <div class="column __50 __reveal">one</div>
  <div class="column __50 __reveal">two</div>
</div>

CSS

.grid 
  display: flex;


.column.__50 
  width: 50%;

JS

window.sr = ScrollReveal(
  distance: '30px',
  duration: 1000,
  scale: 0
);
sr.reveal('.__reveal');

【问题讨论】:

得到一个正确的答案,发布一个工作代码 sn-p 重现您描述的问题。 根据您发布的示例,我没有看到问题。 【参考方案1】:

如果我明白你的意思:

    鉴于现有代码 页面滚动时 然后- 列应该滚动到视图中

我提供了一个 sn-p,它表明它确实可以根据您的代码工作,但您必须为滚动显示效果提供足够的空间。

测试

添加一个占据初始视图空间的 div。

.column.__50 类添加一个高度,以便您可以看到它的实际效果。

添加边框以便您查看它们的放置方式,您可以随时在不再需要边框后将其注释掉。 “调试”和可视化 div 的良好做法。

window.sr = ScrollReveal(
        distance: '30px',
        duration: 1000,
        scale: 0
    );
    sr.reveal('.__reveal');
.grid 
  display: flex;

.column.__50 
  width: 50%;
  height: 800px;
  border: 2px solid black;
<script src="https://cdnjs.cloudflare.com/ajax/libs/scrollReveal.js/4.0.0-beta.25/scrollreveal.js"></script>
<div class="grid">
  <div class="column __50 ">
    No class="__reveal 1"
  </div>
  <div class="column __50 ">
    No class="__reveal 2"
  </div>
</div>
<div class="grid">
  <div class="column __50 __reveal">
    one
  </div>
  <div class="column __50 __reveal">
    two
  </div>
</div>

【讨论】:

【参考方案2】:

据我了解,您必须将序列间隔(以毫秒为单位)传递给reveal() 方法,使序列动画变得轻而易举。

sr.reveal('.__reveal', 300);

You can read the documentation from this reference link

堆栈片段

window.sr = ScrollReveal(
  distance: '30px',
  duration: 1000,
  scale: 0
);
sr.reveal('.__reveal', 300);
.grid 
  display: flex;
  font: 13px Verdana;
  flex-wrap: wrap;


.column.__50 
  width: 50%;
  height: 100px;
  background: red;
  border: 8px solid #ffffff;
  border-radius: 20px;
  padding: 20px;
  color: #fff;
  box-sizing: border-box;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://unpkg.com/scrollreveal/dist/scrollreveal.min.js"></script>
<div class="grid">
  <div class="column __50 __reveal">one</div>
  <div class="column __50 __reveal">two</div>
  <div class="column __50 __reveal">three</div>
  <div class="column __50 __reveal">four</div>
</div>

【讨论】:

以上是关于scrollreveal.js 和 flexbox的主要内容,如果未能解决你的问题,请参考以下文章

ScrollReveal-元素随页面滚动产生动画的js插件

scrollReveal.js网页动效插件

scrollreveal(页面滚动显示动画插件支持手机)

scrollReveal.js使用

常用的js和jquery插件

常用插件