`
zhouyrt
  • 浏览: 1179948 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery1.8的几个小变化

 
阅读更多

 

一,.width() 和 .height()方法

1.8增加了对css属性box-sizing的支持,需要注意与1.7.2的区别了。1.7.2及以前的版本无论是否定义box-sizing: border-box返回的都是盒模型中元素内容的宽度或高度,不包括padding和border。

1.8后则不同了,当设置了css属性box-sizing: box-border后,使用width()返回的数值有可能与css中设置的不同。如

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8"/>

        <style type="text/css">

            #container {

                box-sizing: border-box;

                -moz-box-sizing: border-box;

                width: 500px;

                padding: 5px;

                border: 5px solid gold;

            }

        </style>

        <script src="js/jquery-1.8.0.js"></script>

    </head>

    <body>

        <div id="container"></div>

        <script>

            var $el = $('#container')

            var w = $el.width();

            console.log(w)

        </script>

    </body>   

</html>

 

div[id=container]的box-sizing设置为border-box(Firefox14.1尚不支持border-box,使用-moz-border-box)。

除了设置width:500px外,还设置了padding和border分别为5px。各浏览器打印结果如下

IE6/7 : 500

IE8/9/10: 480

Safari5/6: 480

Chrome21/Firefox14: 480

 

IE6/7不支持box-sizing,输出的依然是500。但支持该熟悉的浏览器此时输出的结果则是480(刨去了盒模型的border和padding)。因此在1.8中需要注意使用box-sizing属性带来的width和height的结果变化。

 

二,.outerWidth 和 .outerHeight()方法

1.7.2及之前版本,outerWidth/outerHeight只作为getter。不传true时返回元素的宽度或高度(含padding和border),传true时(当然也可以传数字1)返回值加上margin。

1.8及后具有了setter功能,如果获取时想计算margin只能传true,不能传数字1等,因为传数字1等在jQuery内部将处理为设置元素宽高。且返回的不是数字而是jQuery对象(和jQuery其它setter一样)。

 

 

 

相关:

http://www.w3.org/TR/css3-box/

http://www.w3.org/TR/2002/WD-css3-box-20021024/

https://developer.mozilla.org/en-US/docs/CSS/box-sizing

 

 

分享到:
评论

相关推荐

    浅析jQuery1.8的几个小变化

    本文将深入探讨jQuery1.8在.width()和.height()方法、以及.outerWidth()和.outerHeight()方法上的几个关键变化。 首先,.width()和.height()方法在jQuery1.8版本中增加了对CSS属性box-sizing的支持。在1.7.2及更早...

    jquery-1.8 api chm

    本资源集合了从1.4到1.8.3的几个中文版本的jQuery API CHM文档,旨在帮助开发者深入理解jQuery的演进历程,找出不同版本之间的差异,以优化项目中的代码和提高效率。 首先,jQuery 1.4是jQuery发展的一个重要里程碑...

    jQuery 1.8 Release版本发布了

    - 在移除的功能方面,此版本并未进行大规模移除,只是少数几个较少使用的功能被移除,如$(element).data("events"),Deferred.isResolved()和Deferred.isRejected()等。 3. 如何获取jQuery 1.8版本代码: - 对于...

    ajaxFileUpload 报这错jQuery.handleError is not a function

    然而,从jQuery 1.8版本开始,这个方法已被废弃,取而代之的是使用`$.ajax.error`或新的Promise API中的`.fail()`方法来处理错误。 解决这个问题的方法有几种: 1. **回退jQuery版本**:如果你的应用程序依赖于`...

    所有的juqery版本.zip

    接下来,我们看看压缩包中提到的几个版本: 1. jQuery 1.5:这个版本引入了对Promise对象的支持,提高了异步编程的可读性和可维护性。同时,它优化了Ajax请求和动画性能。 2. jQuery 1.8.x:这个系列版本进行了...

    jquery.post用法关于type设置问题补充

    这个方法在处理数据返回时有一些需要注意的地方,特别是在不同版本的jQuery之间,其行为可能会有所变化。本篇文章将深入探讨`$.post`的用法以及如何正确设置`type`参数以确保数据正确解析。 首先,`$.post`的基本...

    jquery插件NProgress.js制作网页加载进度条

    NProgress提供了几个主要方法来控制进度条: - NProgress.start():开始显示进度条,用于启动加载过程。 - NProgress.set(Number):设置进度条的完成百分比,参数是一个0到1之间的数值。 - NProgress.inc(Number):...

    游戏引擎---物理系统解决方案.d

    jQueryUI提供了一系列强大的特效库,可以用来创建复杂的动画效果,如Fade(淡入淡出)、Resize(大小变化)、AnimateColor(颜色变化)等。这些特效可以帮助游戏开发者实现细腻的动画过渡,增强游戏的沉浸感。 1.3....

Global site tag (gtag.js) - Google Analytics