使用jQuery的方式来操作DOM更加的简洁、方便,统一的调用方式方便学习并且可降低学习成本。
1、样式属性操作
1)设置样式属性操作
①设置单个样式:
// 第一个参数表示:样式属性名称 // 第二个参数表示:样式属性值 $(selector).css(“color”, “red”);
②设置多个样式(也可以设置单个)
// 参数为 {}(对象) $(selector).css({“color”: “red”, “font-size”: “30px”});
2)获取样式属性操作
// 参数表示要获取的 样式属性名称 $(selector).css(“font-size”);
2、类操作
1)添加类样式
——addClass(className)为指定元素添加类className
$(selector).addClass(“liItem”); //此处类型不带点,所有类操作的方法类名都不带点
2)移除类
——removeClass(className)为指定元素移除类className
$(selector).removeClass(“liItem”); $(selector).removeClass(); //不指定参数,表示移除被选中元素的所有类
3)判断有没有类样式
——hasClass(className)判断指定元素是否包含类className
$(selector).hasClass(“liItem”); //返回值为true或false
4)切换类样式
——toggleClass(className)为指定元素切换类className,该元素有类则移除,没有指定类则添加
$(selector).hasClass(“liItem”);
【注意】
1、操作类样式的时候,所有的类名都不带点(.)
2、操作的样式非常少,那么可以通过.css()这个方法来操作
3、操作的样式很多,那么要通过使用类的方式来操作
4、如果考虑以后维护方便(把CSS从js中分离出来)的话,推荐使用类的方式来操作。类比CSS书写位置(把CSS从html中分离出来)
关键字:简约、粗暴、干净利落、直截了当
3、jQuery动画
3.1隐藏显示动画
①show方法
// 用法一: // 参数为数值类型,表示:执行动画时长 /* 单位为:毫秒(ms),参数2000表示动画执行时长为2000毫秒,即2秒钟 */ $(selector).show(2000); // 用法二: // 参数为字符串类型,是jQuery预设的值,共有三个,分别是:slow、normal、fast /* 跟用法一的对应关系为: */ /* slow:600ms、normal:400ms、fast:200ms */ $(selector).show(“slow”); // 用法三: // 参数一可以是数值类型或者字符串类型 // 参数二表示:动画执行完后立即执行的回调函数 $(selector).show(2000, function() {}); // 用法四: // 不带参数,作用等同于 css(“display”, ”block”) /* 注意:此时没有动画效果 */ $(selector).show();
【注意】:jQuery预设的三组动画效果的语法几乎一致:参数可以有两个,第一个是动画的执行时长,第二个是动画执行完成后的回调函数。
第一个参数可以是:指定字符或者毫秒数
②hide方法
$(selector).hide(1000); $(selector).hide(“slow”); $(selector).hide(1000, function(){}); $(selector).hide();
3.2 滑入滑出动画
①滑入动画效果
$(selector).slideDown(speed,callback); // 注意:省略参数或者传入不合法的字符串,那么则使用默认值:400毫秒(同样适用于fadeIn/slideDown/slideUp) $(selector).slideDown();
②滑出
// 作用:让元素以上拉动画效果隐藏起来 $(selector).slideUp(speed,callback);
③滑入滑出切换动画效果
$(selector).slideToggle(speed,callback); // 参数等同与"隐藏和显示"
4、淡入淡出动画
①淡入动画效果
// 作用:让元素以淡淡的进入视线的方式展示出来 $(selector).fadeIn(speed, callback);
②淡出
// 作用:让元素以渐渐消失的方式隐藏起来 $(selector).fadeOut(1000);
③淡入淡出切换动画效果
// 作用:通过改变不透明度,切换匹配元素的显示或隐藏状态 $(selector).fadeToggle('fast',function(){}); // 参数等同与"隐藏和显示"
④改变不透明度到某个值
——与淡入淡出的区别:淡入淡出只能控制元素的不透明度从 完全不透明 到完全透明;而fadeTo可以指定元素不透明度的具体值;并且时间参数是必需的!
// 作用:调节匹配元素的不透明度 // 用法有别于其他动画效果 // 第一个参数表示:时长 // 第二个参数表示:不透明度值,取值范围:0-1 $(selector).fadeTo(1000, .5); // 0全透,1全不透 // 第一个参数为0,此时作用相当于:.css(“opacity”, .5); $(selector).fadeTo(0, .5);
jQuery提供的这几个动画效果控制的CSS属性包括:高度、宽度、不透明度。{height:400px; width:300px; opacity:.4;}
这三个CSS属性的共性是:属性值只有一个,并且这个值是数值(去掉单位后)。
5、自定义动画
注意:所有能够执行动画的属性必须只有一个数字类型的值。
比如:要改变字体大小,要使用:fontSize(font-size),不要使用:font