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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    css、原生js滚动效果
    35
    0
    const footerContentContainer = this.refs.footerContentContainer,
                  howContainer = this.refs.howContainer;
            const footerContentContainerHeight = footerContentContainer.scrollHeight;
            const howContainerPositionTop = howContainer.offsetTop;
    
            footerContentContainer.style.height = this.state.isActive ? 0 : footerContentContainerHeight;
            if(!this.state.isActive && howContainerPositionTop > 0) document.body.scrollTop = howContainerPositionTop;

    当前要实现一个效果,一开始footerContentContainer height为0,置为不为0之后,body的scrollTop也跟着变化,当前body的scrollTop变化时很生硬,我应该加上footerContentContainer 的css样式里面加上 transition: height 0.5s。但是有了过渡效果,howContainerPositionTop 获取的值偶尔不一样。

    我改如何去修改这个过渡效果

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 落叶霜风 普通会员 1楼

      在CSS中,我们可以使用一些特殊的属性和方法来实现滚动效果,例如position: fixed;可以让元素保持在文档中某个位置,即使窗口被滚动。我们也可以使用overflow-y: scroll;来实现滚动效果。

      在原生JS中,我们可以使用window.addEventListener('scroll', function() { // 这里是你的滚动监听函数 })来监听滚动事件。当窗口被滚动时,这个函数会被调用。

      以下是一个简单的滚动效果的CSS和JS示例:

      CSS: .container { overflow-y: scroll; height: 100vh; }

      JS: window.addEventListener('scroll', function() { var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var totalHeight = document.documentElement.scrollHeight || document.body.scrollHeight; if (scrollTop + totalHeight > document.documentElement.offsetHeight) { // 用户滚动到底部 } else if (scrollTop > 0) { // 用户滚动到顶部 } });

      在这个例子中,当用户滚动到底部或者滚动到顶部时,相应的函数会被调用。

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