CSS
// 1.参数只写属性名,则是返回属性值var strColor = $(this).css('color');// 2.参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号$(this).css(''color'', ''red'');// 3.参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开, 属性可以不用加引号$(this).css({ "color":"white","font-size":"20px"});
**注意**:css() 多用于样式少时操作,多了则不太方便。
第二种方法: 操作CSS类
// 1.添加类$("div").addClass("current");// 2.删除类$("div").removeClass("current");// 3.切换类$("div").toggleClass("current");
注意:
- 设置类样式方法比较适合样式多时操作,可以弥补css()的不足。
- 原生 JS 中 className 会覆盖元素原先里面的类名,jQuery 里面类操作只是对指定类进行操作,不影响原先的类名
10. jQuery 效果(动画)
jQuery 给我们封装了很多动画效果,最为常见的如下
- 显示隐藏:show() / hide() / toggle() ;
- 划入画出:slideDown() / slideUp() / slideToggle() ;
- 淡入淡出:fadeIn() / fadeOut() / fadeToggle() / fadeTo() ;
- 自定义动画:animate()
注意: 动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。 jQuery为我们提供另一个方法,可以停止动画排队:stop() ;
10.1 显示隐藏
三个方法:
- show()
- hide()
toggle()
//显示语法规范show([speed,[easing],[fn]])//speed 播放速度,可以设置毫秒数值 ,也可以通过预定的字符串“slow”、“normal”、“fast”//easing 播放效果,linear 线性播放 swing为默认//fn 回调函数,动画执行完毕后再执行回调函数
//隐式语法规范hide([speed,[easing],[fn]]) //参数类型与显示方式一致
//切换语法 隐藏时显示、显示时隐藏toggle([speed,[easing],[fn]]) //依旧一致//但一般用的时候都是只带播放速度
10.2 滑入滑出
三个方法:
fadeIn()
- fadeOut()
- fadeToggle()
- fadeTo()
//淡入语法规范fadeIn([speed,[easing],[fn]])
//淡出语法规范fadeOut([speed,[easing],[fn]])
//淡入淡出切换fadeToggle([speed,[easing],[fn]])
注意://渐进方式调整指定的透明度fadeIn([speed,opacity,[easing],[fn]])
- opacity 透明度必须填写,取值再0~1范围内
- speed必须填写(在fadeIn()里面)
11. 自定义动画 animate()
animate(params,[speed],[easing],[fn]) //除params以外其余参数可以省略//params 为对象属性,是想要改变的样式属性,且必须填写,属性名可以不带引号
例子
<body><button>动起来</button><div></div><script>$(function() {$("button").click(function() {$("div").animate({left: 500,top: 300,opacity: .4,width: 500}, 500);})})</script></body>
12. 停止动画 stop()
动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。
停止动画排队的方法为:stop() ;
- stop() 方法用于停止动画或效果。
stop() 写到动画或者效果的前面, 相当于停止结束上一次的动画。
总结: 每次使用动画之前,先调用 stop() ,在调用动画。
$(this).stop() //停止上一次动画.animate({width: 224,},1000).find(".small").stop() //停止上一次动画.fadeOut().siblings(".big").stop() //停止上一次动画.fadeIn(); //鼠标移入效果
13. 事件切换 hover
hover([over,]out) // 其中over和out为两个函数
- over:鼠标移到元素上要触发的函数(相当于mouseenter)
- out:鼠标移出元素要触发的函数(相当于mouseleave)
- 如果只写一个函数,则鼠标经过和离开都会触发它
例子
$(function () {$(".wrap li").hover(function () {$(this).siblings().stop().fadeTo(400, 0.5);},function () {$(this).siblings().stop().fadeTo(400, 1);});});
