javascript--文档和元素几何图形滚动

15.8.1文档坐标和视口坐标

元素的位置:向右表示x轴增加,向下表示y轴增加

文档坐标:相对于整个文档,在用户移动滚动条时坐标不改变

视口坐标:相对于窗口

 

获取滚动条位置:

1)window对象的pageXOffset和pageYOffset(除ie8以及以下版本)

2)通过

2.1)在标准模式下document.documentElement的scrollLeft和scrollTop

2.2)在怪异模式下通过docoment.body的scrollLeft和scrollTop

 

查询窗口尺寸

1)window的innerWidth以及innerHeight

2)通过

2.1)在标准模式下document.documentElement的clientWidth和clientHeight

2.2)在怪异模式下通过docoment.body的clientWidth和clientHeight

 

15.8.2查询元素几何尺寸

getBoundingClientRect()不需要任何参数,返回left right top bottom属性对象(left,top即左上角x,y坐标;right,bottom表示右下角x,y坐标)

这个函数返回的坐标包括边框和内边距

getClientRects():返回只读类数组对象

区别:   

例如:一些被断成两行的斜体文本成以上形状

 

内联元素上调用getBoundingClientRect()时会返回两行宽度

而调用getClientRects会返回每一个矩形对象

 

解释:内联元素(行内元素)与块状元素

内联元素包括:<span><code><b>

块状元素包括:<div>,图片,段落

并且以上两种方法并不会实时更新,如果滚动条改变或者窗口大小改变,其值不会改变,他们只是调用时文档视觉的静态快照(拷贝)

 

15.8.3判定元素在某点

判定是口中指定位置有什么元素,可以使用document.elementFromPoint()

参数:传递x,y坐标返回元素

但只返回最里面最上面的元素(z-index)

如果指定的店在视口以外,返回null转换为文档坐标一样返回null

 

15.8.4滚动

window对象的scrollTop()方法

参数:x,y坐标,可以让浏览器滚动到指定点出现在视口的左上角(即滚动条向上,向左)

如果指定点在太右,太下只能保证尽可能接近

还有scrollBy,scroll,scrollTo

如果想要浏览器滚动到使某个元素可见,可以使用scrollIntoView()方法,

这个方法默认(不穿参数)的情况下:试图将元素接近视口上沿

传递(false):将元素接近视口下沿

 

15.8.5关于元素尺寸,位置,溢出的更多信息

任何html元素都有只读属性offsetLeft,offsetTop,用来返回x,y轴坐标,但是这些值是文档坐标,但对于已定为元素的后代元素和一些其他元素,这些属性返回的是相对于祖先元素

offsetParent属性指定这些元素所相对的父元素

clientWidth,clientHeight与offsetHeight,offsetWidth的区别:

clientWidth,clientHeight不包含边框大小,只包含内容和内边距,如果在内边距和边框之间加了滚动条,返回值不包含滚动条,通常对于内联元素,这两个属性的值为0

且在文档根元素查询这两个属性时,他们的返回值和窗口的innerWidth,innerHeight 属性值相同

clientTop,clientLeft的值通常等于左边和上边的边框宽度,如果有左边或者上面的滚动条,则包含滚动条的宽度,通常对于内联元素,这两个属性的值为0

 

scrollWidth以及scrollHeight是元素内容区域加上内边距加上任何溢出内容的尺寸,如果没有溢出部分,则等于clientxxx的值

 

最后:scrollLeft和scrollTop是指定滚动条的位置,注意此方法是可写属性,通过设置它们来让元素中的内容滚动

html元素没有scrollTo,只有window对象有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
<h3>回答1:</h3><br/>JavaScript实现1-100偶数和。 答案:var sum = 0; for (var i = 2; i <= 100; i += 2) { sum += i; } console.log(sum); <h3>回答2:</h3><br/>要实现1-100偶数和,需要先了解JavaScript中的循环和判断语句。 首先,可以使用for循环来遍历1-100的所有数字,如下所示: ``` var sum = 0; // 初始化和为0 for (var i = 1; i <= 100; i++) { // 判断是否为偶数 if (i % 2 === 0) { sum += i; // 是偶数则累加到和中 } } console.log("1-100偶数和为:" + sum); // 输出结果 ``` 在这段代码中,我们定义了一个变量sum来保存结果,初始值为0。然后使用for循环遍历1到100的所有数字,判断每个数字是否为偶数。判断的方法是使用模运算(%),如果一个数模2的结果为0,那么它就是偶数。如果是偶数,就将它累加到sum中。最后输出sum的值即可。 需要注意的是,如果要将结果显示在网页上,可以使用document.write()或者innerHTML属性来操作页面元素。或者在浏览器控制台(F12)中查看输出结果。 总之,实现1-100偶数和的方法就是遍历1-100的所有数字,判断每个数字是否为偶数,如果是则累加到和中,并最终输出结果。这是JavaScript语言中基本的逻辑处理思路,也是编程中常用的方法。 <h3>回答3:</h3><br/>JavaScript是一种非常强大的编程语言,能够实现各种各样的功能。要实现1-100偶数和,我们可以使用JavaScript的循环语句和条件语句。 首先,我们需要使用for循环来遍历1-100的数值,代码如下: ``` var sum = 0; // 定义变量sum用来存放偶数和 for(var i=1; i<=100; i++) { // 遍历1-100的数值 if(i % 2 === 0) { // 如果是偶数 sum += i; // 将该数累加到sum变量中 } } console.log(sum); // 输出偶数和 ``` 在上面的代码中,我们定义了一个变量sum用来存放偶数和,然后使用for循环遍历1-100的数值。在每次循环中,我们使用条件语句判断当前数值是否是偶数,如果是偶数,则将该数累加到sum变量中。 最后,我们使用console.log将偶数和输出到控制台。运行上面的代码你可以得到结果2550,这就是1-100的偶数和。 当然,上面的代码只是一个简单的示例,实际编程中可能会有更多的复杂因素需要考虑。但是通过掌握JavaScript的基本语法和流程控制,你可以轻松实现各种各样的功能,遇到问题时也能快速解决。理解js的核心基础让你能够更好地应用它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就不能找个大点的碗吗

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值