vue设置scrollLeft 一直为0的原因
2020-01-13 01:02
1246 查看
问题描述
<div class="icontent" ref="icontent" > <div class="box" ref="cbox" > <img /> </div> </div>
- img 是position: absolute;绝对定位
- icontent,cbox是 position: relative
- 多个img横向平铺撑开cbox出现滚动条
- 鼠标拖动滚动条可以显示隐藏部分内容
新需求鼠标滚轮滚动控制滚动条,控制显示的内容; 想当然获取cbox 设置scrollleft;但是一直为0;
原因是出现滚动条的不是cbox 而是他的上层容器;
所以scrollLeft不能正确设置值可能就是没有找到出现滚动条的容器
解决步骤:
- 找到出现滚动条的容器
window.addEventListener('scroll', this.windowScroll, true); windowScroll(){ console.log( document.querySelector(".box").parentElement.parentElement.parentElement.scrollLeft) // 查看打印的值是否有变化 如果有 则说明滚滚动条在这个标签中 }, //scrollLeft=0 最左边;scrollWidth-clientWidth 最右边
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- SSH面密码登陆设置失败一直需要输入密码可能原因分析
- 两个div设置了float:left不并排的原因
- 元素scrollTop设置无效的原因及解决办法
- javascript和Jq获取和设置页面元素到顶部、左部距离、宽高元素卷入部分(scroll、scrollTop、scrollLeft、offset、offsetTop、offsetLeft)
- vue项目设置scrollTop不起作用(总结)
- ie中关于document.body.scrollLeft总是0的原因
- vue更新记录不能有中文,中文文档一直滞后的原因
- 小程序scroll-view组件 设置横向滚动条位置 scroll-left 无效问题
- Scrollbarstyle属性的设置对scrollbar位置的影响
- 如何设置UITextField的leftView和rightView的inset
- HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
- HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
- IE6/IE7下只设置margin-left,左右都有边距问题
- vue-cli中单独设置body页面背景颜色
- ARCGIS做好的模型工具,已经设置为相对路径,拷贝后工具显示叉叉不可用的原因
- 在vue项目中,将juery设置为全局变量的方法
- VUE简单的loading动画设置
- phpcms 设置手机站点 但是状态是未开启还不知道什么原因
- 使用 vue-router 切换页面时怎么设置过渡动画
- vue中动态设置meta标签和title标签的方法