js怎么控制网页滚动到指定位置

JavaScript08

js怎么控制网页滚动到指定位置,第1张

使用scrollby(x轴,y轴)方法就可以使文档对象滚动到距离浏览器窗口坐标的指定位置上

注意事项

文档对象可以看做是网页所有可见内容的存储容器,网页所有可见内容称为页面

网页x轴坐标与数学一样,但是y轴坐标是相反的,向下是正数,向上是负数

页面移动出去的距离不能和滚动条移动出去的距离对等

滚动条移动出去多少像素才能等达到页面要移动出去的像素是根据整个页面的尺寸比例计算的

这个文档对象移动出去的距离在坐标系上是一定是负数,但是我们要用正数来表示他距离浏览器窗口0,0坐标的距离

这个方法移动的是文档对象和浏览器存储文档对象的窗口0,0位置坐标的距离,绝不是滚动条和文档对象的距离,

移动出去的距离就是文档对象不可见部分内容和浏览器存储文档对象的窗口0,0坐标的距离

这个方法使用scroll命名只是因为文档对象移动出去的距离需要滚动条滚动才能达到效果,便于记忆而已

scrollby()方法是window对象下的方法,document对象及其子对象没有该方法

document对象及其子对象如果要获取或设置元素内部内容滚动出去的距离,请使用scrollTop和scrollLeft, 注意该方法是计算的不可见部分移动出去的内容顶端距离容器的距离是从容器内边距开始计算,而不是边框

使用scrollby()必须存在滚动条,且有一定的高度才能看出方法的效果

1、如图位置是一个html中的可编辑内容的div标签,在里边输入文字,会有一个光标。

2、通过getSelection可以获得一个Selection对象,如图。因为是一个光标,anchor和focus(选择的起点和终点)一样,偏移也一样。

3、如图,则进行文字选择,而且是跨行选择,以第一行为起点,第二行为终点,选择文字。

4、再次getSelection,可以看到anchorNode是起始节点,anchorOffset是起始偏移,focus是结束的。

5、如果从第二行倒着选到第一行,使用getSelection获取选择区域,可以看到anchorNode和focusNode和刚才相比,互换了。

6、使用一个node的textContent属性可以获得文字。结合focusOffset和anchorOffset,实际上可以获取光标/选中区域前后的文字。

7、将起始和结束位置设置为相同,而且都在结束节点的末尾。即变成闪烁光标。