【问题标题】:Snapping section only on one section of website仅在网站的一个部分上捕捉部分
【发布时间】:2014-03-18 18:45:32
【问题描述】:

我最近看到很多网站都包含从一个部分到另一个部分的滚动,比如fullpage.js,我试图只在页面的一个部分上实现这一点,比如这个页面wedding party app。有谁知道我怎么做实现这个?我没有找到可以帮助我用 iPhone 重新创建捕捉部分的东西......我将制作自​​己的动画。

【问题讨论】:

    标签: javascript jquery animation fullpage.js snapping


    【解决方案1】:

    这很容易

    html

    <div id="skrollr-wrapper">
        <div id="box1">box1</div>
        <div id="box2">box2</div>
    </div>
    
    <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
    <script src="http://prinzhorn.github.io/skrollr/dist/skrollr.min.js"></script>
    

    css

    body {
      padding: 0;
      margin: 0;
      background: #fff fixed url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEX4+Pj09PQf/c7fAAAAGklEQVR4Xq3MIQEAAADDIPqX/kvMIMEWEm8O7b0/wewc/NcAAAAASUVORK5CYII=) repeat;
    }
    
    #skrollr-wrapper {
      /* make sure the boxes stay in place while you 
         scroll by wrapping them in this fixed div: */
      width:100%;
      height:100%;
      position:fixed;
      overflow: hidden;
    }
    
    #skrollr-wrapper div {
      position: absolute;
      overflow: hidden;
      text-align: center;
    }
    
    #box1 {
      background: blue;
      margin: auto;
      top: 0; left: 0; right: 0;  bottom: 0;
    }
    
    #box2 {
      background: red;
      height: 100px;
      width: 100%;
      margin-top: 50px;
    }
    

    jquery

    // setSkrollr function extracted from https://www.pingdom.com/2013/
    var setSkrollr = function($el, data) {
        for (var i = 0, l = data.length; i < l; i++) {
            var d = data[i],
                px = d[0];
                css = d[1];
            $el.attr('data-' + px, css);
        }
    }
    
    jQuery(function($) {
        setSkrollr($('#box1'), [[0, 'width:100%'], [1500, 'width:0%']]);
        setSkrollr($('#box2'), [[0, 'transform:translateX(-100%)'], [750, 'transform:translateX(100%)'], [1500, 'transform:translateX(-100%)']]);
    
        skrollr.init({
            smoothScrolling: false
        });
    });
    

    【讨论】:

    • 我主要是在谈论整个页面如何仅针对动画的那一部分进行捕捉。非常感谢 iPhone 动画,虽然它会派上用场。您是否知道他们如何仅针对该部分完成部分之间的捕捉,然后在“与所有婚礼宾客一起工作......”之后停止?
    • 顺便说一句,我非常感谢您的帮助。我知道如何从相对切换到固定。但我不明白如何让实际的滚动部分分段工作。当你滚动它时,它会在动画时自动从一个部分滚动到另一个部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    相关资源
    最近更新 更多