当前位置: 首页 > news >正文

网站优化公司哪家效果好广州网站设计平台

网站优化公司哪家效果好,广州网站设计平台,网站建设平台源码,沈阳建设工程信息网中介Mutation Observer#xff08;变动观察器#xff09;是监视DOM变动的接口。当DOM对象树发生任何变动时#xff0c;Mutation Observer会得到通知。 要概念上#xff0c;它很接近事件。可以理解为#xff0c;当DOM发生变动会触发Mutation Observer事件。但是#xff0c;它与…  Mutation Observer变动观察器是监视DOM变动的接口。当DOM对象树发生任何变动时Mutation Observer会得到通知。 要概念上它很接近事件。可以理解为当DOM发生变动会触发Mutation Observer事件。但是它与事件有一个本质不同事件是同步触发也就是说DOM发生变动立刻会触发相应的事件Mutation Observer则是异步触发DOM发生变动以后并不会马上触发而是要等到当前所有DOM操作都结束后才触发。 目前Firefox(14)、Chrome(26)、Opera(15)、IE(11)和Safari(6.1)支持这个API。Safari 6.0和Chrome 18-25使用这个API的时候需要加上WebKit前缀WebKitMutationObserver。可以使用下面的表达式检查浏览器是否支持这个API。 var MutationObserver window.MutationObserver ||window.WebKitMutationObserver ||window.MozMutationObserver;var mutationObserverSupport !!MutationObserver; 2、使用方法 首先使用MutationObserver构造函数新建一个实例同时指定这个实例的回调函数。 var observer new MutationObserver(callback); 2.1 observer方法 observer方法指定所要观察的DOM元素以及要观察的特定变动。 var article document.querySelector(article);var options {childList: true,arrtibutes: true };observer.observer(article, options); 上面代码首先指定所要观察的DOM元素提article然后指定所要观察的变动是子元素的变动和属性变动。最后将这两个限定条件作为参数传入observer对象的observer方法。 MutationObserver所观察的DOM变动即上面代码的option对象包含以下类型 childList子元素的变动attributes属性的变动characterData节点内容或节点文本的变动subtree所有下属节点包括子节点和子节点的子节点的变动想要观察哪一种变动类型就在option对象中指定它的值为true。需要注意的是不能单独观察subtree变动必须同时指定childList、attributes和characterData中的一种或多种。 除了变动类型option对象还可以设定以下属性 attributeOldValue值为true或者为false。如果为true则表示需要记录变动前的属性值。characterDataOldValue值为true或者为false。如果为true则表示需要记录变动前的数据值。attributesFilter值为一个数组表示需要观察的特定属性比如[class, str]。2.2  disconnect方法和takeRecord方法 disconnect方法用来停止观察。发生相应变动时不再调用回调函数。 observer.disconnect(); takeRecord方法用来清除变动记录即不再处理未处理的变动。 observer.takeRecord 2.3 MutationRecord对象 DOM对象每次发生变化就会生成一条变动记录。这个变动记录对应一个MutationRecord对象该对象包含了与变动相关的所有信息。Mutation Observer进行处理的一个个变动对象所组成的数组。 MutationRecord对象包含了DOM的相关信息有如下属性 type:观察的变动类型attribute、characterData或者childList。target:发生变动的DOM对象。addedNodes:新增的DOM对象。removeNodes:删除的DOM对象。previousSibling:前一个同级的DOM对象如果没有则返回null。nextSibling:下一个同级的DOM对象如果没有就返回null。attributeName:发生变动的属性。如果设置了attributeFilter则只返回预先指定的属性。oldValue:变动前的值。这个属性只对attribute和characterData变动有效如果发生childList变动则返回null。3、实例 3.1 子元素的变动 下面的例子说明如果读取变动记录。 var callback function(records) {records.map(function(record) {console.log(Mutation type: record.type);console.log(Mutation target: record.target);}); };var mo new MutationObserver(callback);var option {childList: true,subtree: true };mo.observer(document.body, option); 上面代码的观察器观察body元素的所有下级元素childList表示观察子元素subtree表示观察子元素的下级元素的变动。回调函数会在控制台显示所有变动的类型和目标元素。 3.2、属性的变动 下面的例子说明如何追踪属性的变动。 var callback function(records) {records.map(function(record) {console.log(Previous attribute value: record.oldValue);}); };var mo new MutationObserver(callback);var element document.getElementById(#my_element);var option {attribute: true,attributeOldValue: true };mo.observer(element, option); 上面代码先设定追踪属性变动attributes: true然后设定记录变动前的值。实际发生变动时会将变动前的值显示在控制台。 4、参考链接 [1] Tiffany Brown, Getting to know mutation observers [2] Michal Budzynski, JavaScript: The less know parts.DOM Mutations [3] Jeff Griffiths, DOM MutationObserver - reacting to DOM changes without killing browser performance [4] Ruanyf, Mutation Observer 原文地址http://www.cnblogs.com/jscode/p/3600060.html 转载于:https://www.cnblogs.com/flxy-1028/p/10958176.html
http://www.zqtcl.cn/news/936290/

相关文章:

  • 软件开发过程的阶段划分优化手机访问网站速度
  • 知名网站建设公司做分销网站好吗
  • 服务器php网站打不开潍坊网站模板在哪
  • 网站管理员要干些什么开发公司专票
  • 陕西省建设银行网站6网站都有什么类型的
  • 哪里有做网站设计全国室内设计学校
  • 简单的网站php开发教程账户竞价托管哪里好
  • dede网站搬家教程浙江省住房和城乡建设部网站
  • 网站分页符怎么做做网站是什么意思
  • 影视网站开发工程师店铺装修
  • ip138查询网站网址域名ip网站外包制作
  • 网站建设需求怎么写网站seo快速排名优化
  • 网站后台文章添加成功 不显示注册安全工程师是干什么的
  • 网页制作网站建设百度网站推广费用多少钱
  • 长沙网站建设软件wordpress加菜单
  • 网站建设教育板块wordpress $pagenow
  • 岳阳手机网站建设自己可以给公司做网站吗
  • 旅游网站建设目的关于建设网站的需求分析
  • 手机可以建立网站吗自己造网站
  • 厦门建网站哪家好手机编程网站
  • 网站搭建后台奥门网站建设
  • 电子商务网站免费模板展示型网站与营销型网站
  • 除了红动中国还有哪些设计网站宁波建网站哪家
  • 网站的建设费用预算策划书wdcp网站备份
  • 济南制作公司网站网站设计的实例
  • 网站建设需要的文案一个网站的后台怎么做
  • 电影网站建设模板营销方式都有哪些
  • 书店商城网站建设方案未央免费做网站
  • 北京房产网北京二手房企业网站seo方案案例
  • 大连品牌官网建站二级建造师最好的网站