JQuery知识快览之四—样式
前面我们获取了对象集,本文介绍怎么控制对象集的样式
基本概念
在一个html页面中,我们有两种方式来控制一个对象的样式,用HTML attribute控制,或者用CSS类来控制,这两种方法虽然都能控制对象的样式,但是通过CSS来控制对象的样式,将内容和呈现分离开来是更为推荐的一种方法。JQuery提供了丰富的控制CSS样式的方法。
修改CSS类
我们可以通过attr和prop来直接修改对象的CSS类,但是一个对象可以有多个CSS类,我们有时只是想增加或者去掉一个CSS类,这时,用attr和prop就不是那么方便了,JQuery提供了如下便利的方法来修改CSS类
1.增加CSS类
addClass(classname|function(index, currentClass))
可用空格隔开需要增加的多个CSS类
2.除去CSS类
removeClass([classname]|function(index, currentClass))
可用空格隔开需要除去的多个CSS类,如果不指定CSS类,则除去所有CSS类。
3.判断是否有CSS类
hasClass(classname)
4.交互增删CSS类
toggleClass([classname][,switch]|function(index, class,switch)[,switch])
当提供classname时则增删指定的CSS类,当不提供时则增删所有拥有的CSS类。
当提供switch,则根据其true或false指,增或者删,否则,根据CSS类是否存在增或者删。
修改CSS属性
1.css(propertyName|propertyNames)
获取css属性值,1.9版新增用属性名数组来获取多个css属性的方法。如
$( elem ).css([ "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth" ])
将获取一个包含各属性值的数组。
2.css(propertyName,value|propertyName,function(index,value)|properties)
设置css属性值,1.6版新增用+=和-=在原有值的基础上设置属性值的方法,如css("width"."+=100")在原有width值的基础上加上100.
css函数拥有极为强大的兼容性,CSS和DOM的样式属性都能用在css函数中,比如background-color和backgroundColor都能被css用来设置背景。
特殊的样式函数
css看起来如此的强大,我们似乎不需要别的函数来获取样式值了,可是JQuery为我们想得更多。
我们知道用css('width')来获取宽度时得到的是'400px'这种带px的字符串,而我们有时候需要用400这个值来做一些算术计算,这时JQuery为我们提供了一系列的函数来获取这些特殊的算术值。
1.获取长宽算术值
width(),height()
获取内容的长宽值,这个值不包括padding,border,margin部分
innerWidth(),innerHeight()
获取内部的长宽值,这个值是width()和height()的值加上padding部分。
outerWidth(),outerHeight()
获取外部的长宽值,这个值是width()和height()的值加上padding和border部分。但是不包括margin。
outerWidth(true),outerHeight(true)
获取外部的长宽值,这个值是width()和height()的值加上padding,border和margin部分。
注意:对于window和document对象来说,它们不存在padding,border,margin部分,因此只能对它们使用width()和height()函数。
2.设置长宽值
height(value|function(index,height))
可以设置的值为100px,50%,auto等,当只设定为100,而没有指定其单位时,px是其默认单位。
注意:我们只能设置内容的长宽值,而不能设置inner或outer长宽值。
3.获取位置
offset()
获取对象集中第一个对象相对于document的位置
position()
获取对象集中第一个对象相对于其parent的位置
注意:获取到的位置信息为{left:100,top:20}这种形式的数据。
4.设置位置
offset(coords|function(index,coords))
对象集中对象相对于document的位置,用{left:100,top:20}这种形式的数据来进行设置。
5.获取和设置其滚动属性
scrollLeft([value])
获取和设置其向右滚动的值
scrollTop([value])
获取和设置其向下滚动的值
JQuery知识快览之四—样式的更多相关文章
- JQuery知识快览之三—JQuery对象集
本文讲述JQuery对象集的各相关知识 获取JQuery对象集 JQuery对象,和DOM对象是两个不同的东西,JQuery对象可以是DOM对象的封装,但是JQuery对象不只是DOM对象的封装,它还 ...
- JQuery知识快览之五—操作属性和结构
前文提到JQuery提供了丰富的内置方法来操作对象集,本文主要介绍JQuery中的那些内置操作属性和DOM结构的方法. prop还是attr? 从JQuery1.6版开始,新增了prop方法来获取和设 ...
- JQuery知识快览之二—事件
事件是脚本语言的核心.本文将为大家介绍JQuery支持的一些事件和如何自定义事件 JQuery内置事件 1.Document加载事件 JQuery提供了ready,load,unload三个Docum ...
- JQuery知识快览之一—选择器
阅读指导:本文参考最新的1.10.2版写成,针对用得比较多的1.4版,所有1.5版之后的函数都会注明哪一版新增.对于熟悉1.4版想学1.10版的请直接搜索"新增". JQuery是 ...
- 最全的jQuery知识汇总
本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...
- 基于jQuery虾米音乐播放器样式代码
分享一款基于jQuery虾米音乐播放器样式代码.这是一款基于jquery+html5实现的虾米音乐播放器源码下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div c ...
- jQuery动态添加删除CSS样式
jQuery框架提供了两个CSS样式操作方法,一个是追加样式addClass,一个是移除样式removeClass,下面通过一个小例子讲解用法. jQuery动态追加移除CSS样式 <!DOCT ...
- jQuery知识重构
jQuery知识重构 目录: 一.入口函数 1 $(document).ready(function(){}); 2 $(function(){}); jQuery ...
- jQuery知识梳理20190817
目录 jQuery知识梳理20190817 1. jQuery的特征 2. jQuery的两把利器 2.1 jQuery核心函数 2.2 jQuery核心对象 3. jQuery核心函数详解 4. j ...
随机推荐
- LinQ系列文章
温故而知新,想着系统再学习一次LinQ知识点,发现园子里有个非常棒的系列文章,所以Mark下来,方便以后查阅! 系列博客导航: LINQ之路系列博客导航 LINQ之路 1:LINQ介绍 LINQ之路 ...
- Canopy算法聚类
Canopy一般用在Kmeans之前的粗聚类.考虑到Kmeans在使用上必须要确定K的大小,而往往数据集预先不能确定K的值大小的,这样如果 K取的不合理会带来K均值的误差很大(也就是说K均值对噪声的抗 ...
- PostgreSQL数据库中跨库访问解决方案
PostgreSQL跨库访问有3种方法:Schema,dblink,postgres_fdw. 方法A:在PG上建立不同SCHEMA,将数据和存储过程分别放到不同的schema上,经过权限管理后进行访 ...
- Lintcode: Maximum Subarray III
Given an array of integers and a number k, find k non-overlapping subarrays which have the largest s ...
- fighting_使用CSS美化文字
CSS3颜色渐变 background-image:linear-gradient(black,blue,green,red); 默认从上到下显示. 示例代码: <!DOCTYPE html&g ...
- HTML调用servlet(一)
1.页面的数据表单 在使用Servlet处理用户请求之前,先准备一个页面,该页面用来提供数据表单.数据表单就是HTML中的<form>...</form>部分,当用户单击Sub ...
- [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 用xml添加动画
在res文件夹下新建anim文件夹 在anim文件夹新建anim.xml anim.xml: <?xml version="1.0" encoding="utf-8 ...
- 使用Ef查询出现的问题The cast to value type 'System.Boolean' failed because the materialized value is null.的解决方法
把值类型的系统.布尔的失败是因为物化值是null.结果类型的泛型参数或查询必须使用可空类型. 解决方法: 请确保你查询中的字段值不为空或者做为空判断
- Java中的并发线程操作(只贴代码,内有注释)
package com.thread1; public class LiffOff implements Runnable{ protected int countDown = 10; private ...