基础DOM和CSS操作(三)

   CSS方法

   jQuery不但提供了CSS的核心操作方法,比如.css()、.addClass()等。还封装了一些特殊功能的CSS操作方法,我们分别来了解一下。

   width()方法

方法名 描述
width() 获取某个元素的长度
width(value) 设置某个元素的长度
width(function(index,width) {}) 通过匿名函数设置某个元素的长度

   html代码(部分)如下:

<div style="background: #eee; width: 800px;">
    <strong>www.ycku.com</strong>
</div>

   jQuery代码如下:

   通过typeof可以看到变量的具体数据类型是什么。

alert(typeof $("div").css("width")); //string
alert(typeof parseInt($("div").css("width"))); //number
alert(typeof $("div").width()); //获取元素的长度,返回的类型为number

alert($("div").width()); //800
alert($(window).width()); //1366
alert($(document).width()); //1366
$("div").width(500); //设置元素长度,直接传数值,默认加px
$("div").width("500px"); //同上
$("div").width("500pt"); //同上,设置了pt单位
$("div").width(function(index, width) {  //index是索引,width是原本值
    return width - 500 + "px"; //虽然可以不加(单位),会智能添加,但还是建议加上单位,更加清晰
});

   height()方法

方法名 描述
height() 获取某个元素的高度
height(value) 设置某个元素的高度
height(function(index,height) {}) 通过匿名函数设置某个元素的高度

   此方法与width()类似,在此不赘述。

   内外边距和边框尺寸方法

方法名 描述
innerWidth() 获取元素宽度,包含内边距padding
innerHeight() 获取元素高度,包含内边距padding
outerWidth() 获取元素宽度,包含边框border和内边距padding
outerHeight() 获取元素高度,包含border和内边距padding
outerWidth(true) 同上,且包含外边距
outerHeight(true) 同上,且包含外边距

   有html代码如下:

<div style="background: #eee; width: 200px; height: 200px; padding: 200px; border: 100px solid red; margin: 100px;">
    <strong>www.ycku.com</strong>
</div>
alert($("div").width()); //不包含 200
alert($("div").innerWidth()); //包含内边距padding 600
alert($("div").outerWidth()); //包含内边距padding+边框border 800
alert($("div").outerWidth(true)); //包含内边距padding+边框border+外边距margin 1000

   元素偏移方法

方法名 描述
offset() 获取某个元素相对于视口的偏移位置
position() 获取某个元素相对于父元素的偏移位置
scrollTop() 获取垂直滚动条的值
scrollTop(value) 设置垂直滚动条的值
scrollLeft() 获取水平滚动条的值
scrollLeft(value) 设置水平滚动条的值

   html(部分代码如下):

<div title="bbb">
    <strong>www.ycku.com</strong>
</div>

   jQuery代码如下:

alert($("div").offset().left); //相对于视口(我觉得是window)的偏移 8
alert($("div").offset().top); //相对于视口(我觉得是window)的偏移 8
alert($("strong").offset().top); //同上 8

   再看html代码:

<div title="aaa" style="position: relative;">
    <strong style="position: absolute; top: 1px;">www.ycku.com</strong>
</div>

   jQuery代码如下:

alert($("div").position().top); //相对于父元素的偏移 8
alert($("strong").offset().top);//相对于视口的偏移 9
alert($("strong").position().top); //相对于父元素的偏移 1

   再看html代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>基础DOM和CSS操作</title>
    <script type="text/javascript" src="jquery-1.12.3.js"></script>
    <script type="text/javascript" src="demo.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
    <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
    <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
    <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
    <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
    <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
    <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
</body>
</html>

   jQuery代如下:

$(window).scrollTop(400); //设置当前滚动条的位置
alert($(window).scrollTop()); //获取当前滚动条的位置

 

posted @ 2016-04-23 12:32  叶十一少  阅读(253)  评论(0编辑  收藏  举报