首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

scrollIntoView()方法导致整个页面产生偏移

问题描述 今天在做页面UI改版的时候发现,我之前使用的是dom.scrollIntoView(); 使得点击右侧题目编号的时候,让左侧题目滚动到页面可视区域。...如果不知道 scrollIntoView 如果使用,我有篇文章专门写了 scrollIntoView 的简单使用:scrollIntoView() 让元素进入可视区域 · Issue #167 但是现在有个问题就是...,当点击题目编号的时候,除了题目会滚动到可视区域,整个页面也会稍稍往上滚动,导致页面错位。...问题分析 这个时候唯一的可能就是scrollIntoView()函数引起的问题。 我之前怀疑是不是该函数给整个页面加了transform 属性导致整个页面往上偏移,通过查看css,发现没有。...这段代码执行后,就可以让该元素到达父元素顶部的位置。 注意事项:offsetTop 不一定是相对于父元素的,如果有很多父元素的话,它是相对于第一个定位的父元素的。

4.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    分享5个关于 Vue 的小知识,希望对你有所帮助(三)

    然后我们调用el.scrollIntoView,并使用一个具有behavior属性的对象来更改滚动行为。 2、如何在Vue.js组件中监听窗口滚动事件?...methods: { getUnits() { //... }, }, mounted() { this.getUnits(); }, }; 当使用...Vue.js 构建一个应用时,Vue.js 会把组件按照一定的生命周期顺序初始化。...结束 由于文章内容篇幅有限,今天的内容就分享到这里,文章结尾,我想提醒您,文章的创作不易,如果您喜欢我的分享,请别忘了点赞和转发,让更多有需要的人看到。...同时,如果您想获取更多前端技术的知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。

    21220

    忍法,scroll 翻滚之术!

    CSS Scroll Snap 模块 可以让页面容器停止滚动时,捕捉并让其自动滑动到指定元素的指定位置。 一给我哩 giaogiao!这可是非常了不起的特性啊~ ?...mandatory :一个靠谱点的值,只要有参数,停止滚动时就肯定能对齐。 我们来康康这玩意到底是啥效果: ?...来自于 Andy Adams 的scroll-snap-align scroll-snap-stop 因为 Scroll Snap 元素会有几个捕捉的位置,而scroll-snap-stop可以控制到达这些位置之后是否被捕获...contain:当一个元素滚动到边界时,不会再影响临近的滚动元素。 none:当一个元素滚动到边界时,不仅不会不会再影响临近的滚动元素,连默认滚动到边界的表现都会被阻止。...后记 吃瓜群众:我看完了整篇,没看到哪里有跟忍术相关的内容啊?骗我流量,赔钱。 鱼头:没有又咋啦?说好的宠我,你现在凶我是什么意思? ?

    1.4K10

    你也许不知道的浏览器的一些滚动行为

    分类 按照我的个人理解,滚动分全局滚动(浏览器窗口)跟局部滚动(自定义的盒子),以下内容绝大部分都是指全局滚动,局部滚动的话获取指定的DOM再调用相应的API即可✅ 如何设置全局滚动条高度 1....或者利用scrollIntoView进行展现: document.querySelector(".box").scrollIntoView(); 效果如下: 还可以指定元素的出现位置: // start..."center" || "end" }); 效果如下: 如何设置滚动具有平滑的过渡效果 1....// 当前滚动高度 + 视口高度 >= 文档总高度 if (scrollTop + clientHeight >= scrollHeight) { console.log("已到达底部...函数节流 当你没加函数节流: window.addEventListener("scroll", () => console.log("我在滚我在滚!"))

    3.1K20

    基于JS实现回到页面顶部的五种写法(从实现到增强)

    ()   Element.scrollIntoView方法滚动当前元素,进入浏览器的可见区域    该方法可以接受一个布尔值作为参数。...如果没有提供该参数,默认为true   使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果...因此,使用时间版的运动更为合适,假设回到顶部的动画效果共运动500ms,则代码如下所示 <button id="test" style="position...; } }); } 3、增加scrollBy()动画效果   将scrollBy(x,y)中的y参数设置为-50,直到scrollTop为0,则回滚停止...); } }); } 实现   由于scrollTop、scrollBy()和scrollTo()方法,都以scrollTop值是否减少为0作为动画停止的参照

    6K21

    python自动化17-JS处理滚动条

    常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。...版权所有,微信公众号:yoyoketang 三、横向滚动条 1.有时候浏览器页面需要左右滚动(一般屏幕最大化后,左右滚动的情况已经很少见了)。...var q=document.body.scrollTop=0" driver.execute_script(js) 五、元素聚焦 1.虽然用上面的方法可以解决拖动滚动条的位置问题,但是有时候无法确定我需要操作的元素...3.元素聚焦: target = driver.find_element_by_xxxx() driver.execute_script("arguments[0].scrollIntoView();"...driver.execute_script(js) # 聚焦元素 target = driver.find_element_by_xxxx() driver.execute_script("arguments[0].scrollIntoView

    6K20

    收藏 | 移动端H5开发常用技巧总结

    none; user-select: none; } 清除输入框内阴影 在 iOS 上,输入框默认有内部阴影,以这样关闭: div { -webkit-appearance: none; } 如何禁止保存或拷贝图像...0,0,0,0) -webkit-user-modify:read-write-plaintext-only; } iOS 滑动不流畅 ios 手机上下滑动页面会产生卡顿,手指离开页面,页面立即停止运动...手指按住屏幕上拉,底部多出一块白色区域。 在 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。...' in document.activeElement) { document.activeElement.scrollIntoView(false) } else {...console.log(document.body.scrollTop); }) IOS 下 fixed 失效的原因 软键盘唤起后,页面的 fixed 元素将失效,变成了 absolute,所以当页面超过一屏且滚动时

    4.2K20

    Human Interface Guidelines — Navigation

    自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS中的组件(顺便学学英语),以便今后在使用的时候完全不虚...Hierarchical Navigation 在每个屏幕上做一个选择,直到到达目的地。要到达另一个目的地,你必须按照之前的步骤返回,或者从头开始,做出与之前不同的选择。...Content-Driven or Experience-Driven Navigation 使用时注意 一些 app 结合了多种导航风格。...·始终提供一个清晰的路径 人们应该知道他们在 app 中的位置以及如何到达他们的下一个目的地。不管导航样式如何,通过内容的路径是符合逻辑的、可预测的、易于遵循的,这是非常重要的。...·当您有多个相同类型内容的页面时,请使用page control Page control 可以清楚地显示可用页面的数量,以及当前激活的页面。

    99130

    硬件基础知识和典型应用-关于485方式通信

    但是呢长久以来人们要解决的问题是:如何让传输的电压更小,传输距离更远,抗干扰性更强! ? 2.如何让传输距离更远?...关于串口通信 咱们做单片机的经常会说串口通信 其实当RS232方式通信出来的时候,当时用RS232方式通信叫串口通信 就是老式的台式电脑后面的这个口(RS232出来的时候还没有出现差分通信方式,所以电脑是没有...,停止位就是有一个高电平 (高电平时间就是传输每一位的时间,当前为约104us) 当然如果停止位是1.5位,停止时间对于现在来讲就是104*1.5 = 156us 如果停止位是2位,停止时间对于现在来讲就是...不过中间经过了一个电路(电容 ,电阻,二极管):电路的作用是延迟一下控制方向的这个引脚 让数据电平先到达,然后控制方向的后到达....但是4引脚此时先给电容放电.等到74HC14认为1引脚是低电平以后 经过2输出高电平,把芯片置为输出状态,把0发送出去 发送1的时候74HC14的6和4引脚以相同的时间输出高电平, 高电平信号已经给了485

    2K64

    移动端那些戳中你痛点的软键盘问题及解决方法

    最终决定优化的点: 经过一番调研,在我搜集到的可行方法中,结合有限的时间因素,在和ui协调之后,将这3个优化点变成了下面这3个优化点。...header,所以前端webview高度就是整个屏幕的高度,而现在由于采用的是客户端jsb能力,所以webview剩余高度就需要减去header头的高度。...解决办法: 让键盘弹起来的时候,让输入框加入scrollIntoView(true);方法。...参考文章: WebView上软键盘的兼容方案[5] js如何获取iOS键盘高度[6] 移动端input“输入框”常见问题及解决方法[7] ios键盘难题与可见视口(visualViewport)api[.../20/WebView%E4%B8%8A%E8%BD%AF%E9%94%AE%E7%9B%98%E7%9A%84%E5%85%BC%E5%AE%B9%E6%96%B9%E6%A1%88/ [6] js如何获取

    8.9K30

    移动端效果之IndexList

    核心解析 总体来说的原理就是当点击或者滑动右边的索引条时,通过获取点击的索引值来使左边的内容滑动到相应的位置。...content.style.marginRight = navWidth + 'px'; content.style.height = currentHeight + 'px'; 1.3 绑定滑动事件 在右边的索引栏上加上滑动事件,当点击或者滑动的时候触发...具体可以看这篇文章 下面看一下如何滑动: function scrollList(y) { // 通过当前的y值以及之前记录的clientX值来获得索引栏中的对应item var currentItem...caniuse.com上关于getBoundingClientRect和scrollIntoView的兼容性 getBoundingClientRect scrollIntoView 最后需要注销window...比如如果最开始让我来做的话,我可以就只会在右侧的索引栏上绑定事件,而不会关联左侧的内容,这样滑动的区域将会大大减小。 同时看源码可以学到一些比较偏僻的知识,促使自己去学习。

    94240

    php fread 逐行读取,php fread函数使用方法总结

    该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。...EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况....EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件. fread()实例: 当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. fread() 返回所读取的字符串,如果出错返回 FALSE...EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. fread() 返回所读取的字符串,如果出错返回 FALSE

    1.9K20

    约妹子打球却没订到场地?Python自动化帮你搞定

    比如,我想预订的时间段是 18:00-19:00,为了让这个区域出现在页面中,pk 哥采用的思路是滑动页面,让 场馆介绍 出现在屏幕底部。 ? pk 哥用的方法是用 js 方法滑动页面。...scrollIntoView(false) 上面方法表示滑动页面,使指定的元素出现屏幕底部,具体写法如下: scroll = "document.getElementById('detail').scrollIntoView...(false)" # 滚动屏幕,使元素出现在屏幕底部 self.driver.execute_script(scroll) 这里,我把预订星期和滑动功能一起封装成一个方法,并把预订时间作为参数。...我们先来看看场地预订的状态判断,通过调试,我们发现,场地 td 标签中 status 表示预订的状态,其中 status 值为 0 的时候表示该场地可以被预订,当 status 值不为 0 时表示该场地不可被预订...在本项目中导入发送邮件的方法,当预订场地成功提交订单后,调用发送邮件的方法,然后退出 while 循环。 预订场地的部分代码如下: ?

    2.7K40

    Selenium 处理滚动条

    # Selenium 处理滚动条 selenium 并不是万能的,有时候页面上操作无法实现的,这时候就需要借助 JS 来完成了 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的...这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。滚动条是无法直接用定位工具来定位的。...: js = "var q=document.body.scrollTop=0" driver.execute_script(js) # 二.横向滚动条 # 2.1 有时候浏览器页面需要左右滚动(一般屏幕最大化后...js = "window.scrollTo(100,400)" driver.execute_script(js) # 三.元素聚焦 虽然用上面的方法可以解决拖动滚动条的位置问题,但是有时候无法确定我需要操作的元素在什么位置...具体如下: target = driver.find_element_by_xxxx() driver.execute_script("arguments[0].scrollIntoView();",

    2.5K30

    Dubbo优雅停机

    Dubbo优雅停机 背景 对于任何一个线上应用,如何在服务更新部署过程中保证客户端无感知是开发者必须要解决的问题,即从应用停止到重启恢复服务这个阶段不能影响正常的业务请求。...因此,如果在容器/框架级别提供某种自动化机制,来自动进行摘流量并确保处理完已到达的请求,不仅能保证业务不受更新影响,还可以极大地提升更新应用时的运维效率。...下面给出正式一些的定义:优雅停机是指在停止应用时,执行的一系列保证应用正常关闭的操作。...实战 添加-Ddubbo.shutdown.hook=true启动参数 虽然文档中说是默认开启的,但是我试验了一下,还是要加这个参数才能在停止服务的时候,回调钩子函数。 ?...问题 Dubbo如何做到服务的无损发布?

    1.1K20
    领券