获取当前视口元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>获取当前视口元素</title>
    <script src="script/jquery-3.2.1.min.js"></script>
</head>
<style>
    div{
        width: 800px;
        height: 200px;
        margin: 10px;
        background-color: #eee;
    }
</style>
<script>
    (function($) {
        $.expr[":"]["onScreen"] = function(elem) {
            //可视上边和下边到页头距离
            var viewTop = $(window).scrollTop();
            var viewHeight = $(window).height();
            var viewButtom = viewTop + viewHeight;

            //元素上边和下边到页头距离
            var elemTop = $(elem).offset().top;
            var elemHeight = $(elem).height();
            var elemButtom = elemTop + elemHeight;

            //元素上边或下边可见
            return (elemTop > viewTop && elemTop < viewButtom) || (elemButtom > viewTop && elemButtom < viewButtom);
            //元素单个整体可见
            return (elemTop > viewTop && elemTop < viewButtom) && (elemButtom > viewTop && elemButtom < viewButtom);
        }
    })($)
</script>
<body>
    <div><h1>1</h1></div>
    <div><h1>2</h1></div>
    <div><h1>3</h1></div>
    <div><h1>4</h1></div>
    <div><h1>5</h1></div>
    <div><h1>6</h1></div>
    <div><h1>7</h1></div>
    <div><h1>8</h1></div>
</body>
<script>
    $(window).click(function() {
        $("div").css("background-color","#eee");
        $("div").filter(":onScreen").css("background-color","#aaa");
        console.log($("div").filter(":onScreen"));
    });
</script>
</html>

  

时间: 2024-10-02 20:07:24

获取当前视口元素的相关文章

jquery选择器如何获取父级元素、同级元素、子元素

一.新建页面 1 <ul> 2 <li>list item 1</li> 3 <li>list item 2</li> 4 <li class="third-item">list item 3</li> 5 <li>list item 4</li> 6 <li>list item 5</li> 7 </ul> 8 9 <p>Hell

获取第一个子元素 屏蔽浏览器的差异

//获取第一个子元素 屏蔽浏览器的差异 function getFirstElementChild(element){ //能力检测 判断是否支持firstElementChild if(element.firstElementChild){ //支持返回元素 return element.firstElementChild; }else{ //不知此判断下一个兄弟节点 var node = element.firstChild; while(node && node.nodeType !

控制台获取AngularJS某个元素的Scope

如何在控制台获取到某个元素的Scope呢? 假设,页面元素为: <label>Name:</label><input type="text" ng-model="yourName" placeholder="Enter a name here"><h1>{{yourName}}</h1> → 选择input元素 → 在控制台输入"$0",显示如下: <input

jquery1.11 操作checkbox:全选、取消全选、获取选择元素、获取取消选择元素(总结)

jquery1.11.1版本完成对checkbox的操作 1. 使用属性prop设置选中状态 2.使用:checked和:not(:checked)获取选中的元素 源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1&quo

使用jquery获取指定li元素后面的所有兄弟元素

使用jquery获取指定li元素后面的所有兄弟元素:如果我们已经获取了一个li元素,那么如何获取此li元素后面的所有的兄弟元素,下面就通过代码实例做一下简单介绍.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /&g

js及jquery获取页面和元素的宽高

js: 网页可见区域宽: document.body.clientWidth;(不含滚动条) 网页可见区域高: document.body.clientHeight;(不含滚动条) 网页可见区域宽: document.body.offsetWidth;(包括边线的宽); 网页可见区域高: document.body.offsetHeight;(包括边线的宽); 网页正文全文宽: document.body.scrollWidth; 网页正文全文高: document.body.scrollHei

Jquery 方式获取 iframe Dom元素

Jquery 方式获取 iframe Dom元素 测试页面代码: <html>  <head>   <title>jquery方式,访问iframe页面dom元素</title>   <meta name="Author" content="孙勤波">   <meta http-equiv="Content-Type" content="text/html;charset

JavaScript的DOM_获取元素方法_getElementById()获取特定ID元素的节点

一.通过标签的id属性值获取该标签节点 接受一个参数:如果找到相应的元素则返回该元素的 HTMLDivElement 对象,如果不存在,则返回 null. <script type="text/javascript"> window.onload = function(){ var box = document.getElementById('box'); //获取 id 为 box 的元素节点 alert(box.id); } </script> </h

获取指定的元素节点

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <titl