首页
学习
活动
专区
圈层
工具
发布

JS判断滚动条是否停止滚动

背景:昨天一个同事有种需求,有一个展示数据区域的div,带滚动条,当滚动条滚动时,需要向后台发请求,计算数据,再拿到前台展示。        ...分析:由于数据量级别较大,所以当滚动条滚动时,如果时时向后台发请求,对服务器和浏览器都造成巨大的压力。想到的解决方案是,当滚动条停止时,再去发请求计算数据。...那么问题来了,如何判断滚动条是否停止了呢?        解决:搜索了一下,js本身是无法判断滚动条是在滚动状态还是停止状态,只有通过其它方式了。...后来想到的思路是当滚动条滚动的时候,发起一个定期执行的方法,并记录一次当前滚动条到顶部的距离,这个方法中判断此时滚动条到顶部的距离是否和上次记录的相等,如果相等,那么说明停止滚动了,不相等,还在滚动。...-- // 让浏览器出现滚动条 for(var i = 0; i < 100; i++) { document.write(""); } var topValue = 0,//

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

    Js处理滚动条和日期框

    有2种方式 1.通过Js处理滚动条 如果将元素拖动到可见区域之后,再去操作它,也就是处理这个滚动条。...滚动条不是html页面的元素,它是浏览器的元素。想获取浏览器的元素,就不能走常规套路啦,要通过javascript来执行。 不是所有的元素都一定要拖动到可见区域才能操作的。...例如底部的页面跳转:有的系统,虽然进来是这个地方,想操作页面底部的元素,可以操作,也不需要拖动滚动条,它会自动将它拖动到可见区域,然后去操作它。...10)如何判定这个页面需要不需要这种滚动操作呢? 如果你的被测系统某一个页面当中,因为太长了出现了滚动条,怎么做呢?...driver.find_element_by_id("kw").send_keys("柠檬班") driver.find_element_by_id("su").click() #滚动条处理 # 1.

    13.6K10

    Selenium页面交互之JS处理滚动条

    selenium页面交互过程,操作中常见需要点击某个元素,但是页面看不到该元素,需要滑动滚动条,滑到可见处,在进行下一步的操作,那么UI自动化中我们就是使用到execute_script方法进行实现,首先简单介绍一下滑动滚动条的常见语法...滚动条回到顶部 # js="var q=document.getElementById('id').scrollTop=0" driver.execute_script(js) # js="var q...=document.documentElement.scrollTop=0" driver.execute_script(js) 滚动条拉到底部 # js="var q=document.getElementById...js = "var q=document.documentElement.scrollTop=100000"dr.execute_script(js)'''#若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口...,在进行滚动条操作 js="var q=document.getElementById('id').scrollTop=100000" driver.execute_script(js)'''t.sleep

    7.5K10

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

    这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。 滚动条是无法直接用定位工具来定位的。...selenium里面也没有直接的方法去控制滚动条, 这时候只能借助J了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本。...二、控制滚动条高度 1.滚动条回到顶部: js="var q=document.getElementById('id').scrollTop=0" driver.execute_script(js)...2.滚动条拉到底部 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js) 3.这里可以修改scrollTop...2.通过左边控制横向和纵向滚动条scrollTo(x, y)js = "window.scrollTo(100,400);" driver.execute_script(js) 3.第一个参数x是横向距离

    7.6K20
    领券