overflow跟input搭配使用,会导致内容区整体移动,overflow属性导致

问题1:vue中父元素高度为550px,css样式用position:relative,overflow:auto,子元素有12个input超出父元素高度,点击最后一个子元素,聚焦,发现子元素内容整体向上移动,是什么原因导致的?

解答:虽然用了overflow:hidden; 属性,滚动条还是存在的,当你把属性显示出来,会发现滚动条向下滑动,控制台有滚动的高度。

问题2: 当使用外部来改动滚动条的高度时,会由 0px ----> 22.5px -----> 在到0,会出现闪电屏幕,如何解决

setTimeout(() => {

console.log('%c%s', 'color:#cb3a56', 'Log: ???---行', this.zingBody_DIV.scrollTop)

// this.zingBody_DIV.scrollTop = 0

})

解答:从input聚焦就开始让滚动的距离为0,可生效
复制代码
 this.$nextTick(() => {
    this.zingBody_DIV.scrollTop = 0
    setTimeout(() => {
      this.zingBody_DIV.scrollTop = 0
    })
  })

如何让滚动条开始滑动,已知表格内容是根据滚动条滑动的高度来联动的,所以只需要计算出滑动高度,表格内容就会联动。

html 复制代码
  // 左侧的内容区跟右侧的滑块关联
    handleContentRelationBar() {
        //  内容最大可滚动距离 =  凭证10条内容的高度 - 存放凭证固定容器的高度 = 差值( N ) / 比例 ( X ) = 左侧内容滚动的距离
      const N = this.zingContent_DIV.offsetHeight - this.zingBody_DIV.offsetHeight,
        //  滚动条最大可移动距离 =  容器高度 - 滚动条高度 = 差值( n )/ 滚动条滚动的距离 ( n1 ) = 比例 ( X )
            n = this.zingDuration_DIV.offsetHeight - this.zingBar_DIV.offsetHeight,
                // 滚动条滚动的距离-transform
            n1 = this.getTranslateYValue(this.zingBar_DIV),
            // 10 / 5 = 2
            //  N / X = n / n
            //  N / (n / n1) = X
            contentScrollHeight = Math.floor(N / (n / n1));

      // 计算滚动比率 (Ratio) = 滚动条最大可移动距离 / 内容最大可滚动距离
      this.rollingRatio = Math.floor(n / N)
      this.zingContent_DIV.style.transform = `translateY(${-contentScrollHeight}px)`
      this.handleStartAndEndPosition(contentScrollHeight)
    },
相关推荐
天外飞雨道沧桑7 小时前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
暗冰ཏོ10 小时前
VUE面试题大全
前端·javascript·vue.js·面试
豹哥学前端13 小时前
事件循环(Event Loop)深度解析:让你彻底搞懂 JS 的执行顺序
前端·javascript·面试
竹林81813 小时前
用 wagmi v2 + Next.js 14 搞 NFT 交易市场前端:从合约调用失败到顺利上架,我踩了哪些坑
javascript·next.js
前端不开发13 小时前
用一个 Bookmarklet(书签脚本),给任意网页挂一个可拖拽悬浮窗
前端·javascript
接着奏乐接着舞14 小时前
【无标题】
开发语言·前端·javascript
biubiubiu_LYQ14 小时前
萌新小白基础篇之CSS定位布局(干货满满)!
css
雨雨雨雨雨别下啦14 小时前
心理健康AI助手 - 项目总结
前端·javascript·vue.js·人工智能·信息可视化
风之舞_yjf14 小时前
Vue基础(32)_TodoList案例
前端·javascript·vue.js
Amos_Web15 小时前
Rspack 源码解析 (2) —— 从 rspack build 到输出 dist,完整编译链路详解
前端·javascript