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

判断元素是否在视区内

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;
}

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

时间: 2024-10-27 00:16:24

判断元素是否在视口和元素相交的相关文章

LeetCode:Contains Duplicate - 判断数组内是否有重复元素

1.题目名称 Contains Duplicate(判断数组内是否有重复元素) 2.题目地址 https://leetcode.com/problems/contains-duplicate/ 3.题目内容 英文:Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in

哈希(6) - 判断数组中是否存在重复元素且距离在K之内

给定一个包含多个重复元素的未排序的数组.另外给定一个数字k,且k小于数组大小.判断数组中是否包含重复元素,且它们相隔的距离处于范围k之内. 例如: Input: k = 3, arr[] = {1, 2, 3, 4, 1, 2, 3, 4} Output: false 所有重复元素的距离>k. Input: k = 3, arr[] = {1, 2, 3, 1, 4, 5} Output: true 存在重复元素1,且距离为3(==k). Input: k = 3, arr[] = {1, 2,

判断一个元素是否是另一个元素的子元素或者父元素

判断一个元素是否是另一个元素的子元素或者父元素:在实际应用中有时候会判断某个元素是另一个元素的子元素或者父元素,下面就通过代码实例介绍一下. //判断:当前元素是否是被筛选元素的子元素 jQuery.fn.isChildOf=function(b){ return (this.parents(b).length>0); }; //判断:当前元素是否是被筛选元素的子元素或者本身 jQuery.fn.isChildAndSelfOf=function(b){ return (this.closest

R语言判断向量中是否存在一个元素

判断ori_data[,1]中是否存在元素a: a %in% ori_data[,1] 如果存在返回 true,否则返回 false

LeetCode:Contains Duplicate II - 判断数组内是否有重复元素2

1.题目名称 Contains Duplicate II(判断数组内是否有重复元素2) 2.题目地址 https://leetcode.com/problems/contains-duplicate-ii/ 3.题目内容 英文:Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nu

jQuery判断当前元素是第几个元素&amp;获取第N个元素

jQuery判断当前元素是第几个元素&获取第N个元素 假设有下面这样一段HTML代码: <ul> <li>jQuery判断当前元素是第几个元素示例</li> <li>jQuery获取第N个元素示例</li> <li>jQuery选择器示例</li> </ul> jQuery判断当前元素是第几个元素 如果我们点击任何一个li标签,想知道当前点击的是第几个li标签,可以使用下面的代码: $("ul

JS判断数组中是否有重复元素的方法

判断数组中是否有重复元素,最容易想到的方法是使用2重循环,逐个遍历,比较,但是这个是最慢,最笨的方法,百度得出了更好的方法. var ary = new Array("111","22","33","111"); var nary=ary.sort(); for(var i=0;i<ary.length;i++){ if (nary[i]==nary[i+1]){ alert("数组重复内容:"+na

js中判断数组中是否包含某元素的方法

方法一:array.indexOf(item,start):元素在数组中的位置,如果没与搜索到则返回 -1. 参数 描述 item 必须.查找的元素. start 可选的整数参数.规定在数组中开始检索的位置.它的合法取值是 0 到 stringObject.length - 1. 如省略该参数,则将从字符串的首字符开始检索. 实际用法:if(arr.indexOf(某元素) > -1){//则包含该元素} var fruits = ["Banana", "Orange&

LinkedList练习-队列获取元素方法、堆栈获取元素方法!

堆栈:如同一个水杯.先进后出. 队列:如同一个水管,先进先出. import java.util.*; class DuiDemo { private LinkedList link; DuiDemo() { link = new LinkedList(); } public void myAdd(Object obj)//对外提供一个添加元素的方法,调用LinkedList本身的方法以封装对外提供. { link.addFirst(obj); } public Object myGet()//