You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何减慢滚动触发的Div宽度变化动画的速度?

调整滚动时Div宽度变化速度的方法

核心修改点就是调整代码里的除数,直接看下面的说明和示例:

  • 原脚本中控制速度的关键是这一行:var scrollSlow = (scrollVal / 3)
    除数越大,Div宽度随滚动变化的速度越慢。比如把3改成8或10,宽度增长会明显平缓很多。

原理很简单:scrollVal是当前页面滚动的距离,除以更大的数后,计算出的宽度增量会变小,自然就减慢了动画速度。

下面是修改后的示例代码(这里把除数改成了8,你可以自己调整数值试效果):

var aDiv = document.getElementById("navi");
function changeWidth() {
  var scrollVal = window.pageYOffset;
  // 修改这里的除数来调整速度,数值越大越慢
  var scrollSlow  = (scrollVal / 8);
  // 这段是限制宽度在20%-100%之间,不需要改动
  aDiv.style.width = Math.min(Math.max(scrollSlow, 20), 100) + "%";
}
window.addEventListener('scroll', function() {
  requestAnimationFrame(changeWidth);
}, false);

你可以多试几个除数数值,比如5、8、12,直到找到你觉得合适的动画速度。

内容的提问来源于stack exchange,提问作者Siberian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 02:33:23