ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> #div1 { width: 100px; height: 100px; background: red; padding: 10px; border: 1px solid #000; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { alert($('#div1').width()); //100 不带单位 //width() => width alert($('#div1').innerWidth()); //120 //innerWidth() => width + padding alert($('#div1').outerWidth()); //122 //outerWidth() => width + padding + border alert($('#div1').outerWidth(true)); //132 //outerWidth(true) => width + padding + border + margin }) </script> </head> <body> <div id="div1">div</div> </body> </html> ~~~ *** ### 尺寸设置 ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> #div1 { width: 100px; height: 100px; background: red; padding: 10px; border: 1px solid #000; margin: 5px; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { $('#div1').width(300); //设置了style中的width // $('#div1').innerWidth(200); //padding左右是20;然后总共是200,那么style中的width就是180 => width: 200 - padding //$('#div1').outerWidth(200); //padding左右是20;border左右是2;总共200,那么width就是178 => width: 200 - padding - border // $('#div1').outerWidth(200, true); //width: 200 - padding - border - margin为168 }) </script> </head> <body> <div id="div1">div</div> </body> </html> ~~~ *** ### 可视区尺寸,页面尺寸 ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body { margin: 0; padding: 0; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { alert($(window).height()); //可视区的高 alert($(document).height()); //页面的高 2000 //如果没有给body清margin和padding,得到的是2016;如果清掉了,得到的就是2000 }) </script> </head> <body style="height: 2000px;"> </body> </html> ~~~ *** ### 滚动距离 ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body { margin: 0; padding: 0; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { // alert($(document).scrollTop()); //获取滚动距离 //当滚动条滚到最底部的时候 $(document).scrollTop() == $(document).height() - $(window).height() // 2000 - 860 $(document).scrollTop(900); //设置滚动距离 // 页面默认初始滚动距离就是300 }) </script> </head> <body style="height: 2000px;"> <div id="div1"> <div id="div2"></div> </div> </body> </html> ~~~ *** ### 元素距离 ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>到达页面的距离:offset()</title> <style> body { margin: 0; padding: 0; } #div1 { width: 200px; height: 200px; background: red; margin-left: 200px; position: relative; } #div2 { width: 100px; height: 100px; margin-left: 50px; background: yellow; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { //offset()的距离值都是相对于整个页面的 alert($('#div1').offset().left); // 200 //元素距离整个页面左边的距离是offset().left, //top就是距离整个页面上边的距离。注意left和top后面都不加括号。 alert($('#div2').offset().left); // 250 //不论怎样嵌套,定位父级是谁,都是到达页面边缘的距离。 //这个与原生的offsetLeft和offsetTop不同。原生的相对于定位的祖先节点的距离。 }) </script> </head> <body> <div id="div1"> <div id="div2"></div> </div> </body> </html> ~~~ ### position ![](https://box.kancloud.cn/57151ef60bca708f3bd10327dad6936c_392x464.png) ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body { margin: 0; padding: 0; } #div1 { width: 200px; height: 200px; background: red; margin: 200px; position: relative; } #div2 { width: 100px; height: 100px; margin: 50px; background: yellow; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { alert($('#div2').position().left); //0 //position()就是到有定位的祖先节点的距离 //position()方法默认是不认margin值的。所以上面的代码弹出0 }) </script> </head> <body> <div id="div1"> <div id="div2"></div> </div> </body> </html> ~~~ *** ### 图片懒加载 ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body { margin: 0; padding: 0; } div { margin-top: 300px; width: 470px; height: 150px; border: 1px #000 solid; } </style> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script> $(function() { toChange(); $(window).scroll(toChange); // 没看懂 function toChange() { $('img').each(function(i, elem) { if($(elem).offset().top < $(window).height() + $(document).scrollTop()) { //如果图片进入了可视区 $(elem).attr('src', $(elem).attr('_src')); } }); } }) </script> </head> <body> <div><img _src="images/1.jpg" alt=""></div> <div><img _src="images/2.jpg" alt=""></div> <div><img _src="images/3.jpg" alt=""></div> <div><img _src="images/4.jpg" alt=""></div> <div><img _src="images/5.jpg" alt=""></div> </body> </html> ~~~