学习前端,三招,HTML、CSS、JavaScript。JavaScript的基础由DOM、BOM和ECMAScript组成。其中,ECMAScript是规范语言。现在ES6(ES2016~ES2022)都引用了它。它将每隔一段时间发布一次。目前,它每年发布一次。按年来说,现在是ECMAScript2022。什么是BOM,BOM就是浏览器对象模型(BrowserObjectModel)。它有六大对象文档:DOM(DOM包含在BOM中,但是DOM很重要,它的状态和BOM是一样的)event:event对象history:浏览器历史location:windowurl地址栏informationscreen:显示设备信息navigator:我们也非常了解浏览器的配置信息DOM。文本对象模型是指操作HTML(HyperTextMarkupLanguage)的API。DOM会将文档解析成一个由节点和对象(包含属性和方法的对象)组成的结构集合。之前开发页面的时候,都是先获取script标签中的节点(DOMApi),然后操作DOM,所以以前是《JavaScript 面向对象编程》、《JavaScript dom编程艺术》,但是操作DOM的API太长,不好写.JQuery对其进行了整合,简化了API,统一了操作和书写方式。如果扩展的话,可以扩展的东西会很多,铺垫了那么多,就是为了把文档拉出来。这次我们要说的offset、scroll、client都来自于“文档家族”。先匹配两张图,看看这三张是什么。clientclient指的是元素本身的可视化内容。不包括overflow折叠部分,不包括滚动条,border,包括padding有四个属性:clientHeight:对象的可见高度clientWidth:对象的可见宽度clientTop:元素距顶部的厚度,一般为0,因为scrollbarwillnotappearintheTopclientLeft:元素从左边算起的粗细,一般为0,因为滚动条不会出现在左边。offsetoffset指的是偏移量。包括该元素在文档中所占的所有显示宽度,包括滚动条、padding、border,不包括overflow隐藏部分有五个属性:offsetHeight:对象本身的绝对高度offsetHeight:=border-width*2+padding-top+height+padding-bottomoffsetWidth:对象本身的绝对宽度offsetWidth=border-width*2+padding-left+width+padding-rightoffsetParent:返回一个对象的引用,字面意思是,如果当前元素的父元素没有CSS定位(position是绝对/相对),offsetParent为body如果当前元素的父元素有CSS定位(position是绝对/相对),offsetParent取父元素中最近的元素offsetTop:relativelayout或offsetParent属性指定了父坐标距顶部的距离offsetTop=offsetParent的padding-top+中间元素的offsetHeight+margin-topofthecurrentelementoffsetLeft:相对布局或offsetParent属性指定父坐标的左距离包括本元素未显示的实际宽度,包括padding,不包括滚动条,borderscrollHeight:获取对象的滚动高度,对象的实际高度scrollWidth:获取对象的滚动宽度scrollTop:与当前元素与窗口顶部scrollLeft:Current元素与窗口最左边缘的距离其他innerHeight和clientHeight有什么区别准确的说,clientHeight是针对body的,innerHeight是窗口的document.顶部工具栏监控图片高度,实现懒加载。利用图片的offsetTop(偏移高度)和窗口的innerHeight、scrollTop判断图片是否在可见区域,即图片很多,优先显示窗口中的图片。如果您没有看到它,请不要先显示它。页面加载速度。向下滚动时,当后续图片的offsetTop(偏移高度)小于innerHeight(窗口高度)+scrollTop(滚动高度)时,表示该图片已经出现在窗口中,替换的关键代码加载的真实图像位于函数lazyload(){letseeHeight=window.innerHeight;让scrollTop=document.documentElement.scrollTop||文档.body.scrollTop;for(leti=n;i
