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

页面滚动时绿色球体透明度降低jQuery脚本失效问题求助

问题背景
  • 故障表现:用于实现「页面向下滚动时降低绿色球体透明度」的前端脚本此前运行正常,近期突然失效,无法定位具体故障原因。
  • 测试站点:测试页面地址
  • 原有实现逻辑:监听窗口滚动事件,根据页面滚动高度计算透明度值,动态赋值给绿色球体(对应选择器.bg-bubble),透明度最低保留0.2。
现有故障代码
$(document).ready(function() {
    $(window).scroll(function(event) {
        let scroll = $(this).scrollTop();
        let opacity = 1 - (scroll / 1300);
        if (opacity > 0.2) {
            $('.bg-bubble').css('opacity', opacity);
        }
    });
});
故障排查结论与修复方案

故障根因

页面近期新增了平滑滚动相关的实现,将原生window滚动替换为了内部容器滚动,实际产生滚动行为的容器不再是window对象,导致绑定在window上的scroll事件完全不会触发,逻辑自然失效。

修复方法

  1. 定位实际滚动容器:通过控制台事件监听可以确认,当前页面触发滚动的是类名为smooth-scroll-wrapper的内部div,而非window对象。
  2. 修改事件绑定目标与取值逻辑,同时补全原代码的边界判断漏洞(原代码滚动超过阈值后不会更新透明度,会导致透明度停在临界值之上),修复后代码如下:
$(document).ready(function() {
    // 替换滚动事件绑定对象为实际滚动容器
    $('.smooth-scroll-wrapper').on('scroll', function() {
        // 从当前滚动容器获取滚动高度
        const scrollTop = $(this).scrollTop();
        const opacity = 1 - (scrollTop / 1300);
        // 统一设置透明度,低于0.2时固定为0.2
        $('.bg-bubble').css('opacity', Math.max(opacity, 0.2));
    });
});
  1. 后续如果再遇到同类滚动逻辑突然失效的问题,可以优先排查滚动容器是否发生变更,这类问题占滚动相关脚本失效原因的90%以上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 17:18:22