zoukankan      html  css  js  c++  java
  • js获取元素的滚动高度,和距离顶部的高度

    jq: 

    获取浏览器显示区域(可视区域)的高度 :   
    $(window).height();   
    获取浏览器显示区域(可视区域)的宽度 :
    $(window).width();   
    获取页面的文档高度   
    $(document).height();   
    获取页面的文档宽度 :
    $(document).width(); 
    浏览器当前窗口文档body的高度:  
    $(document.body).height();
    浏览器当前窗口文档body的宽度: 
    $(document.body).width();
    获取滚动条到顶部的垂直高度 (即网页被卷上去的高度)  
    $(document).scrollTop();   
    获取滚动条到左边的垂直宽度 :
    $(document).scrollLeft(); 
    获取或设置元素的宽度:
    $(obj).width();
    获取或设置元素的高度:
    $(obj).height();
    某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
    某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
    返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
    返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)

    js:

     网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度)

    document.documentElement.scrollTop //firefox
    
    document.documentElement.scrollLeft //firefox
    
    document.body.scrollTop //IE
    
    document.body.scrollLeft //IE

    等同于:

    $(window).scrollTop() 

    $(window).scrollLeft()

     网页工作区域的高度和宽度  

    document.documentElement.clientHeight// IE firefox  

    等同于:

    $(window).height()

     元素距离文档顶端和左边的偏移值  

     obj.offsetTop //IE firefox
    
     obj.offsetLeft //IE firefox

    等同于:

     obj.offset().top

     obj.offset().left

    简单实例(监控元素在可见视图中)

      效果:当元素出现在可见区域时,改变其css样式(背景色变红);

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title>监控元素出现在视图中</title>
            <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
            <style>
                p {
                    height: 30px;
                    line-height: 30px;
                    background: #f3f3f3;
                    opacity: 0;
                }
            </style>
        </head>
    
        <body>
            <div class="main">
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
                <p>你好,china!</p>
            </div>
        </body>
        <script>
            function Show() {
                var Height = $(window).height();
                $('p').not('.none').each(function(ind) {
                    var Top = $(this).offset().top; //元素距离顶部距离
                    var scroll = $(document).scrollTop(); //滚动高度
                    console.log(Top + '  ' + scroll);
                    if(Top - Height - scroll <= 0) {
                        setTimeout(function() {
                            $('p').not('.none').eq(ind).addClass('show').css('background', 'red').animate({
                                opacity: 1
                            }, 500);
                        }, 200);
                    }
                });
            }
            $(function() {
                var Height = $(window).height(); //窗口高度
                console.log('可视高度:' + Height);
                $('.main').find('*').each(function() {
                    var Top = $(this).offset().top;
                    if(Top - Height <= 0) {
                        $(this).addClass('none').css({
                            'background': '#09f',
                            'opacity': 1
                        });
                    }
                });
                $(window).scroll(function() {
                    Show();
                })
            })
        </script>
    
    </html>
  • 相关阅读:
    ASP.NET MVC案例——————拦截器
    Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
    Windows Azure Storage (20) 使用Azure File实现共享文件夹
    Windows Azure HandBook (5) Azure混合云解决方案
    Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
    Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
    Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
    Azure China (9) 在Azure China配置CDN服务
    Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
    Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 原文地址:https://www.cnblogs.com/wangyihong/p/8056859.html
Copyright © 2011-2022 走看看