通过jQuery,不仅能够轻松地为页面操作添加简单的视觉效果,甚至能创建更精致的动画。


###修改内联CSS

jQuery提供了.css()方法。

这个方法集getter(获取方法)和setter(设置方法)于一身。为取得某个样式属性的值,可以为这个方法传递一个字符串形式的属性名,然后同样得到一个字符串形式的属性值。要取得多个样式属性的值,可以传入属性名的数组,得到的则是属性和值构成的对象。

对于backgroundColor这样由多个单词构成的属性名,jQuery既可以解释连字符版的CSS表示法(如background-color),也可以解释驼峰大小写形式的DOM表示法(如backgroundColor)。

//取得单个属性的值
.css('property')
//返回"value"
//取得多个属性的值
.css(['property1','property-2'])
//返回{"property1":"value1","property-2":"value2"}

设置样式属性时,.css方法能够接受的参数有两种,一种是为它传递一个单独的样式属性和值,另一种是为它传递一个由属性-值对构成的对象。

//单个属性及值
.css('property','value')
//属性-值对构成的对象
.css({
property1:'value1',
'property-2':'value2'
})

这些键值的集合叫对象字面量,是在代码中直接创建的Javascript对象。

对象字面量

一般来说,数字值不需要加引号而字符串值需要加引号。由于属性名师字符串,所以属性通常是需要加引号的。但是,如果对象字面量中的属性名是有效的javascript标识符,比如使用驼峰大小写形式的DOM表示法时,则可以省略引号。

使用.css()的方式与使用.addClass()的方式相同——将它连缀到jQuery对象后面,这个jQuery对象包含一组DOM元素。

####设置计算的样式属性值

在需要多次使用某个jQuery对象时,最好也把这个对象保存到一个变量中,从而达到缓存数据的目的。

####带厂商前缀的样式属性

浏览器厂商在引入试验性的样式属性时,通常会在实现达到CSS规范要求之前,在属性名前面添加一个前缀。等到实现和规范都稳定之后,这些属性的前缀就会被去掉,让开发人员使用标准的名称。

css声明:

-webkit-property-name:value;
-moz-property-name:value;
-ms-property-name:value;
-o-property-name:value;
property-name:value;

###隐藏和显示元素

基本的.hide()和.show()方法不带任何参数。这两个方法的作用就是立即隐藏或显示匹配的元素集合,不带任何动画效果。

.hide()方法会将匹配的元素集合的内联属性设置为display:none。但它聪明之处是,能够在把display的值变成none之前,记住原先的display值,通常是block、inline或inline-block。

.show()方法会将匹配的元素集合的display属性,恢复为应用display:none之前的可见属性。


###效果和时长

当在.show()或.hide()中指定时长(一个速度)参数时,就会产生动画效果,即效果会在一个特定的时间段内发生。

####指定显示速度

对于jQuery提供的任何效果,都可以指定两种预设的速度参数:‘slow’和‘fast’。使用.show(‘slow’)会在600毫秒(0.6秒)内完成效果,而.show(‘fast’)则是200毫秒(0.2秒)。

如果传入的是其他字符串,jQuery就会在默认的400毫秒内完成效果。要指定精确的速度,可以使用毫秒数值。

####淡入和淡出

如果想在显示整个段落时,只是逐渐地增大其不透明度,可以使用.fadeIn(‘slow’)方法。

####滑上和滑下

使用jQuery的.slideDown()和.slideUp()方法仅改变元素的高度。

要让段落以垂直滑入的效果出现,可以使用:.slideDown('slow')

####切换可见性

jQuery提供了一个.toggle方法,该方法的作用类似于.show()和.hide()方法,而且与它们一样的是,.toggle()方法时长参数也是可选的。

另一个复合方法是.slodeToggle(),该方法通过逐渐增加或减少元素高度来显示或隐藏元素。


###创建自定义动画

jQuery提供了一个强大的.animate()方法,用于创建控制更加精细的自定义动画。.animate()方法有两种形式,第一种形式接收以下4个参数。

一个包含样式属性及值的对象:

可选的时长参数:既可以是预置的字符串,也可以是毫秒数值。

可选的缓动类型:

可选的回调函数:

4个参数放在一起:

.animate({property:'value1',property2:'value2'},
duration,easing,function(){
alert('The animation is finished.');
} );

第二种形式接受两个参数,一个属性对象和一个选项对象。

.animate({properties},{options})

###并发与排队效果

排队效果,即让效果一个接一个地发生。

####处理一组元素

当为同一组元素应用多重效果时,可以通过连缀这些效果轻易地实现排队。

####概括

(1)一组元素上的效果:

当在一个.animate()方法中以多个属性的方法应用时,是同时发生的。

当以方法连缀的形式应用时,是按顺序发生的(排队效果)——除非queue选项值为false。

(2)多组元素上的效果

默认情况下是同时发生的。

当在另一个效果方法或者在.queue()方法的回调函数中应用时,是按顺序发生的(排队效果)。

jQuery——样式与动画的更多相关文章

  1. jQuery样式与动画

    修改内联CSS .css() 获取 //取得单个属性的值,传入'属性名',返回"value" .css('property') //取得多个属性的值,传入'['属性1','属性2' ...

  2. jQuery学习笔记(四)jQuery中的动画

    目录 show()方法和hide()方法 fideIn()方法和fadeOut()方法 slideUp方法和slideDown()方法 自定义动画方法animate toogle(),slideTog ...

  3. 第五章 jQuery中的动画

    通过jQuery中的动画方法,能轻松地为网页添加精彩的视觉效果,给用户一种全新体验. 1.show()方法和hide()方法 该方法的功能与css()方法设置display属性效果相同. 给show( ...

  4. JQuery中的动画

    一.show()方法和hide()方法 这两种方法是jQuery动画的最基本方法.当为元素调用show方法时相当于将该元素的display样式改为block或者inline,同理,如果当元素调用hid ...

  5. 八款强大的jQuery图片滑块动画插件

    jQuery是一款相当轻巧的JavaScript框架,目前几乎每一个WEB项目都在使用jQuery,因为jQuery插件实在太丰富,尤其是 一些图片滑块插件和jQuery焦点图插件,更是多如牛毛,很多 ...

  6. jQuery基础(动画篇 animate,显示隐藏,淡入淡出,下拉切换)

    1.jQuery中隐藏元素的hide方法   让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元 ...

  7. 自定义jQuery的animate动画

    //擦除效果 jQuery.extend(jQuery.easing, { easeOutBack : function(x, t, b, c, d, s) { s = s || 1.3; retur ...

  8. jQuery中的动画——《锋利的JQuery》

    自CSS3以来,主流网站开始偏向于扁平风格和动画效果,这时就可以jQuery的动画就可以发挥其长处了,灵活的应用其动画API,让我们可以设计出很多绚丽的效果.下面,让我们来列举一些jQuery常用的动 ...

  9. jQuery中的动画理论干货

    [jQuery中的动画] 通过jQuery动画能够轻松地为页面添加精彩的视觉效果 [show()方法和hide()方法]1.show()方法和hide()方法是jQUERY中最基本的动画方法,相当于在 ...

随机推荐

  1. Fragment学习

    利用Fragment可以动态的加载页面,减少Activity的数量. 便于开发 类似与html中FragmentSet一样 嵌套在一起,使每个页面为独立的 代码如下: package com.exam ...

  2. Queue的使用说明

    普通的Queue.Queue是单个进程间的队列,不同进程不能共享:multiprocessing.Queue()是不同进程间使用的,可以共享:如果是进程池的话需要使用multiprocessing.M ...

  3. TurtleBot3 Waffle (tx2版华夫)(5)激活你的雷达

    重要提示:请在配网通信成功后进行操作,配网后再次开机需要重新验证通信: 重要提示:[Remote PC]代表PC端.[TurtelBot]代表树莓派端: 5.1.操作步骤 1)[Remote PC]  ...

  4. PHPer 面试

    A:怎么保证促销商品不会超卖? 答:这个问题是我们当时开发时遇到的一个难点,超卖的原因主要是下的订单的数目和我们要促销的商品的数目不一致导致的,每次总是订单的数比我们的促销商品的数目要多,当时我们的小 ...

  5. reactjs踩坑记

    getFieldDecorator 提示错误 Warning: `getFieldDecorator` will override `value`, so please don't set `valu ...

  6. 【Java基础】Java10 新特性

    Java10 新特性 局部变量类型推断 局部变量的显示类型声明,常常被认为是不必须的. 场景一:类实例化时.在声明一个变量时,总是习惯了敲打两次变量类型,第一次用于声明变量类型,第二次用于构造器. 场 ...

  7. Java远程下载文件到本地(http协议和ssh2协议)

    Java中java.io包为我们提供了输入流和输出流,对文件的读写基本上都依赖于这些封装好的关于流的类中来实现.前段时间遇到了以下两种需求: 1.与某系统对接,每天获取最新的图片并显示在前端页面.该系 ...

  8. Python_列表(list)

    list()类中的提供的操作 1.索引取值 li = [11,22,33,44,55] v1 = li[3] print(li[2]) #索引取出33 print(v1) #索引取出44 print( ...

  9. element el-table表格的vue组件二次封装(附表格高度自适应)

    基于vue的el-table表格二次封装组件方法 前言 在公司实习使用vue+element-ui框架进行前端开发,使用表格el-table较为多,有些业务逻辑比较相似,有些地方使用的重复性高,如果多 ...

  10. 【Oracle】将数据库设为开机自启

    由于某些特殊条件,需要将oracle数据库设置为开机自己,其实很简单 环境:oracle10gR2 1.修改/etc/oratab # This file is used by ORACLE util ...