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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    求教 想用JS实现 一个图片 在下落过程中随机向左或者向右 或者向下 或者向上
    53
    0

    想用JS实现 一个图片 在下落过程中随机向左或者向右 或者向下 或者向上

    应该用什么思路 就类似气球下落过程中 在某一个特定的条件下 突然向左或者向右

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 0 条
    • 岛与海 普通会员 1楼

      你可以使用JavaScript的requestAnimationFrame函数来实现这个效果。requestAnimationFrame是一个用于在浏览器的下一次重绘之前执行函数的API。它允许你利用浏览器的性能,以避免每次重绘时都需要重新绘制整个页面。

      以下是一个简单的例子,展示了如何使用requestAnimationFrame来实现你的需求:

      ```javascript function fall(x, y, dir) { var newX = x - dir * Math.cos(x) * Math.sin(y); var newY = y + dir * Math.sin(x) * Math.cos(y); return newX < 0 || newX >= canvas.width || newY < 0 || newY >= canvas.height ? null : {x: newX, y: newY}; }

      function animate() { requestAnimationFrame(animate); var newX = window.innerWidth / 2 - canvas.width / 2; var newY = window.innerHeight / 2 - canvas.height / 2; if (fall(newX, newY, -1)) { document.getElementById('fall').style.left = newX + 'px'; } else if (fall(newX, newY, 1)) { document.getElementById('fall').style.right = newX + 'px'; } else if (fall(newX, newY, 0)) { document.getElementById('fall').style.top = newY + 'px'; } else if (fall(newX, newY, 0)) { document.getElementById('fall').style.bottom = newY + 'px'; } }

      animate(); ```

      在这个例子中,我们首先定义了一个函数fall,它接受四个参数:x、y和dir。如果dir是1,那么函数返回一个空对象,表示向左;如果dir是-1,那么函数返回一个空对象,表示向右;如果dir是0,那么函数返回一个空对象,表示向下;如果dir是0,那么函数返回一个空对象,表示向上。然后我们定义了一个函数animate,它接受一个函数作为参数。这个函数会更新所有四个元素的left和top属性,使其随机向左、向右、向下或向上移动。最后,我们调用animate函数开始动画。

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