码迷,mamicode.com
首页 > 其他好文 > 详细

判断元素是否在视口和元素相交

时间:2018-05-21 14:51:18      阅读:399      评论:0      收藏:0      [点我收藏+]

标签:var   port   The   计算   ott   min   ||   math   viewport   

判断元素是否在视区内

function isElementInViewport (el) {
    var rect = el.getBoundingClientRect();
    return (
        rect.top >= 0 &&
        rect.left >= 0 &&
        rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
        rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */
    );
}

计算两个元素的相交面积

function getIntersect(rect1,rect2){
    var minx = Math.max(rect1.left,rect2.left),
        miny = Math.max(rect1.top,rect2.top),
        maxx = Math.min(rect1.right,rect2.right),
        maxy = Math.min(rect1.bottom,rect2.bottom);
    if(minx > maxx || miny > maxy){
            return 0;
    }
    var deltaW= maxx - minx,
        deltaH = maxy - miny;

    return deltaW * deltaH;
}

 

判断元素是否在视口和元素相交

标签:var   port   The   计算   ott   min   ||   math   viewport   

原文地址:https://www.cnblogs.com/mengff/p/9066395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!