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);
}
);
});