获取窗口属性,获得DOM尺寸

获取滚动条x轴与y轴的距离

function getScrollOffset() {
    if(window.pageXOffset) {
        return {
            x : window.pageXOffset,
            y : winodw.pageYOffset
        }
    }else{
        return {//兼容IE之前版本
            x : document.body.scrollLeft + document.documentElement.scrollLeft,
            y : document.body.scrollTop + document.documentElement.scrollTop
        }
    }
}
<!DOCTYPE html>

加上<!DOCTYPE html>为标准模式,不加为怪异模式/混杂模式

怪异模式为了向后(版本)兼容

获取可视窗口的大小

function getViewportOffset() {
    if(window.innerWidth) {
        return {
            w : window.innerWidth,
            h : window.innerHeight
        }
    }else{
        if(document.compatMode === "BackCompat") {
            return {
                w : document.body.clientWidth,
                h : document.body.clientHeight
            }
        }else{
            return {
                w : document.documentElement.clientWidth,
                h : document.documentElement.clientHeight
            }
        }
    }
}

查看元素的尺寸

dom.offsetWidth, dom.offsetHeight

查看元素的位置

dom.offsetLeft, dom.offsetTop

对于无定位父级的元素,返回相对文档的坐标。

对于有定位父级的元素,返回相对于最近的有定位的父级的坐标。

返回最近有定位的父级

dom.offsetParent

让滚动条滚动

  • window上有三个方法
  • scroll(),scrollTo() ,scrollBy();
  • 三个方法类似,将x,y坐标传入,即实现让滚动条滚动到当前位置。
  • 区别:scrollBy()会在之前的数据基础上做累加。

获取元素的样式

function getStyle(elem,prop) {
    if(window.getComputedStyle) {
        return window.getComputedStyle(elem,null)[prop];
    }else{//兼容IE
        return elem.currentStyle[prop];
    }
}

window.getComputedStyle(elem,"after")获取伪元素样式

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容