zoukankan      html  css  js  c++  java
  • jQuery 尺寸、位置操作

    jQuery 尺寸、位置操作

    jQuery中分别为我们提供了两套快速获取和设置元素尺寸和位置的API,方便易用,内容如下。

    1. jQuery 尺寸操作

    jQuery 尺寸操作包括元素宽高的获取和设置,且不一样的API对应不一样的盒子模型。

    语法

    代码演示

    <body>
       <div></div>
       <script>
           $(function() {
               // 1. width() / height() 获取设置元素 width和height大小
               console.log($("div").width());
               // $("div").width(300);

               // 2. innerWidth() / innerHeight() 获取设置元素 width和height + padding 大小
               console.log($("div").innerWidth());

               // 3. outerWidth() / outerHeight() 获取设置元素 width和height + padding + border 大小
               console.log($("div").outerWidth());

               // 4. outerWidth(true) / outerHeight(true) 获取设置 width和height + padding + border + margin
               console.log($("div").outerWidth(true));
          })
       </script>
    </body>

    注意:有了这套 API 我们将可以快速获取和子的宽高,至于其他属性想要获取和设置,还要使用 css() 等方法配合。

    2. jQuery 位置操作

    jQuery的位置操作主要有三个: offset()、position()、scrollTop()/scrollLeft() , 具体介绍如下:

    语法

    代码演示

    <body>
       <div class="father">
           <div class="son"></div>
       </div>
           
       <div class="back">返回顶部</div>
       <div class="container"></div>
     
       <script>
           $(function() {
               // 1. 获取设置距离文档的位置(偏移) offset
               console.log($(".son").offset());
               console.log($(".son").offset().top);
               // $(".son").offset({
               //     top: 200,
               //     left: 200
               // });
         
               // 2. 获取距离带有定位父级位置(偏移) position   如果没有带有定位的父级,则以文档为准
               // 这个方法只能获取不能设置偏移
               console.log($(".son").position());
               // $(".son").position({
               //     top: 200,
               //     left: 200
               // });
         
        // 3. 被卷去的头部
        $(document).scrollTop(100);
               // 被卷去的头部 scrollTop() / 被卷去的左侧 scrollLeft()
               // 页面滚动事件
               var boxTop = $(".container").offset().top;
               $(window).scroll(function() {
                   // console.log(11);
                   console.log($(document).scrollTop());
                   if ($(document).scrollTop() >= boxTop) {
                       $(".back").fadeIn();
                  } else {
                       $(".back").fadeOut();
                  }
              });
               // 返回顶部
               $(".back").click(function() {
                   // $(document).scrollTop(0);
                   $("body, html").stop().animate({
                       scrollTop: 0
                  });
                   // $(document).stop().animate({
                   //     scrollTop: 0
                   // }); 不能是文档而是 html和body元素做动画
              })
          })
       </script>
    </body>

     

    3. 今日总结

  • 相关阅读:
    TSQL循环打印一年中所有的日期(WHILE循环)
    给Table加字段的SQL
    [正则表达式]前台JS得到控件ID (该控件被其它控件包住了)
    1.SQL Server中批量更新Object的Owner 2.附加数据库
    转:动态LINQ的几种方法
    转:查看LINQ生成SQL语句的几种方法
    TrimZero方法
    Oracle关联更新语法(TSQL中的update...from)
    Table之间的空隙或Table与父控件之间的空隙怎么去掉?
    自动完成带来的麻烦
  • 原文地址:https://www.cnblogs.com/llanq123/p/13789615.html
Copyright © 2011-2022 走看看