javascript基础学习系列二百四十五:滚动

本文介绍了HTML5之前滚动功能的处理,标准化的scrollIntoView()方法以及SelectorsAPI、ElementTraversal等DOM扩展。着重讨论了DOM2和DOM3模块化的结构,包括DOMCore、DOMViews、DOMStyle等,以及DOM4中的DOMMutationObservers模块。
摘要由CSDN通过智能技术生成

如前所述,滚动是 HTML5 之前 DOM 标准没有涉及的领域。虽然 HTML5 把 scrollIntoView() 标准化了,但不同浏览器中仍然有其他专有方法。比如,scrollIntoViewIfNeeded()作为 HTMLElement 类型的扩展可以在所有元素上调用。scrollIntoViewIfNeeded(alingCenter)会在 元素不可见的情况下,将其滚动到窗口或包含窗口中,使其可见;如果已经在视口中可见,则这个方法 什么也不做。如果将可选的参数 alingCenter 设置为 true,则浏览器会尝试将其放在视口中央。Safari、 Chrome 和 Opera 实现了这个方法。
下面使用 scrollIntoViewIfNeeded()方法的一个例子: // 如果不可见,则将元素可见

document.images[0].scrollIntoViewIfNeeded();

考虑到 scrollIntoView()是唯一一个所有浏览器都支持的方法,所以只用它就可以了。

虽然 DOM 规定了与 XML 和 HTML 文档交互的核心 API,但其他几个规范也定义了对 DOM 的扩 展。很多扩展都基于之前的已成为事实标准的专有特性标准化而来。本章主要介绍了以下 3 个规范。
Selectors API 为基于 CSS 选择符获取 DOM 元素定义了几个方法:querySelector()、 querySelectorAll()和 matches()。
 Element Traversal 在 DOM 元素上定义了额外的属性,以方便对 DOM 元素进行遍历。这个需求 是因浏览器处理元素间空格的差异而产生的。
 HTML5 为标准 DOM 提供了大量扩展。其中包括对 innerHTML 属性等事实标准进行了标准化, 还有焦点管理、字符集、滚动等特性。
DOM 扩展的数量总体还不大,但随着 Web 技术的发展一定会越来越多。浏览器仍然没有停止对专 有扩展的探索,如果出现成功的扩展,那么就可能成为事实标准,或者最终被整合到未来的标准中。

DOM1(DOM Level 1)主要定义了 HTML 和 XML 文档的底层结构。DOM2(DOM Level 2)和 DOM3(DOM Level 3)在这些结构之上加入更多交互能力,提供了更高级的 XML 特性。实际上,DOM2 和 DOM3 是按照模块化的思路来制定标准的,每个模块之间有一定关联,但分别针对某个 DOM 子集。 这些模式如下所示。
 DOM Core:在 DOM1 核心部分的基础上,为节点增加方法和属性。
 DOM Views:定义基于样式信息的不同视图。
 DOM Events:定义通过事件实现 DOM 文档交互。
 DOM Style:定义以编程方式访问和修改 CSS 样式的接口。
 DOM Traversal and Range:新增遍历 DOM 文档及选择文档内容的接口。
 DOM HTML:在 DOM1 HTML 部分的基础上,增加属性、方法和新接口。
 DOM Mutation Observers:定义基于 DOM 变化触发回调的接口。这个模块是 DOM4 级模块,
用于取代 Mutation Events。
本章介绍除 DOM Events 和 DOM Mutation Observers 之外的其他所有模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值