账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    【求助】上拉回弹效果的,拉动范围限制公式???
    19
    0

    目前自己写了一个上下拉回弹效果的弹窗组件。在完善功能的时候就想对上下拉动超出范围时,对这个超出范围做个限制。

    我是通过控制translateY来控制列表滑动的.
    往下拉的时候为正值,滑动距离space>0,则顶部超出范围。
    往上拉则为负值,当距离小于space < -200的时候,底部内容超出范围。
    现在我要让控制超出范围在 range = 100 ;
    所以条件就是:
    if(space > 0 ){

    // 超出距离 *= 限制距离/(限制距离+超出距离)
    space *= range / (range + space);

    }

    if(space < -200){

    //怎么计算???

    }

    space的值是多少,弹窗就移动多少。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 敏哥哥 普通会员 1楼

      在JavaScript中,上拉回弹效果的实现可以使用CSS3的transition属性和JavaScript的requestAnimationFrame函数来实现。以下是一个简单的例子:

      HTML: ```html

      上拉回弹效果

      ```

      CSS: ```css

      myDiv {

      transition: background-color 0.5s ease-in-out; width: 200px; height: 200px; background-color: #ccc; overflow: hidden; }

      myDiv:hover {

      background-color: #000; } ```

      JavaScript: ```javascript let x = 0; function requestAnimationFrame(callback) { x += 1; if (x >= 200) { requestAnimationFrame(callback); } requestAnimationFrame(callback); }

      requestAnimationFrame(function() { document.getElementById("myDiv").style.backgroundColor = "#000"; }); ```

      在这个例子中,我们首先设置了一个初始的x值,然后在requestAnimationFrame函数中,我们每过一段时间(0.5s),我们就将x的值增加1。如果x的值超过了200,我们就再次调用requestAnimationFrame函数,以便在下一次循环中重新计算x的值。

      这就是上拉回弹效果的实现。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部