首页 前端知识 jQuery添加css样式/动画效果

jQuery添加css样式/动画效果

2024-05-25 09:05:53 前端知识 前端哥 834 465 我要收藏

目录

jQuery操作css:

css属性:

动画:

停止动画:

尺寸:

父/子/兄弟元素:

父元素: 

 子元素:

兄弟元素: 

过滤:

遍历:


jQuery操作css:

  • addClass() - 向被选元素添加一个或多个类
  • removeClass() - 从被选元素删除一个或多个类
  • toggleClass() - 对被选元素进行添加/删除类的切换操作
  • css() - 设置或返回样式属性

定义class样式表:

.a{color:red;}

给p标签上添加/删除a样式

$("p").addClass("a");
$("p").addClass("a b");//套多个样式时,中间用空格,重复样式以后面的为准
$("p").removeClass("a");
$("p").toggleClass("a");

css属性:

  • css("css属性");----返回的是指定的css属性值
  • css("css属性","给属性赋值");----给指定元素赋值
  • css({"a":"b","a1":"b2",...});--------给多元素赋值
$("p").css("background-color");
$("p").css("background-color","yellow");
$("p").css({"background-color":"yellow","font-size":"200%"});

动画:

可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是隐藏或显示完成后所执行的函数名称。

  • hide(speed,callback);--------隐藏元素
  • show(speed,callback);-------显示元素
  • toggle(speed,callback);------显示被隐藏的元素,隐藏已显示的元素
    <button id="cang">隐藏</button>
    <button id="xian">显示</button>
    <button id="xc">隐藏/显示</button>
    <div class="a" id="div1"></div>
=========script=========================
     $("#cang").click(()=>{
            //隐藏
            $("#div1").hide(2000,()=>{
                // alert("cang");
            });
        });
        $("#xian").click(()=>{
            //显示
            $("#div1").show(2000);
        });
        $("#xc").click(()=>{
            //显示/隐藏
            $("#div1").toggle(2000);
        });

 

  • fadeIn(speed,callback);------淡入
  • fadeOut(speed,callback);----淡出
  • fadeToggle(speed,callback);-切换淡入淡出效果
  • fadeTo(speed,opacity,callback);--渐变为给定的不透明度(介于0~1之间)
        <button id="b1">隐藏</button>
        <button id="b2">显示</button>
        <button id="b3">隐藏/显示</button>
        <button id="b4">透明</button>
        <div class="a" id="div2"></div>
        //淡入淡出,所以会有一个透明度的问题
        $("#b1").click(()=>{
            //出去
            $("#div2").fadeOut(2000);
        });
        $("#b2").click(()=>{
            //进来
            $("#div2").fadeIn(2000);
        });
        $("#b3").click(()=>{
            //显示/隐藏
            $("#div2").fadeToggle();
        });
        $("#b4").click(()=>{
            //透明度(第一个参数事件,第二个参数透明度)
            $("#div2").fadeTo(1000,0.2);
        });

 

  • slideDown(speed,callback);---向下滑动
  • slideUp(speed,callback);-------向上滑动
  • slideToggle(speed,callback);--切换向上向下效果
        <button id="b11">隐藏</button>
        <button id="b22">显示</button>
        <button id="b33">隐藏/显示</button>
        <div class="a" id="div3"></div>
        $("#b11").click(()=>{
            //上拉
            $("#div3").slideUp(2000);
        });
        $("#b22").click(()=>{
            //出来
            $("#div3").slideDown(2000);
        });
        $("#b33").click(()=>{
            //显示/隐藏
            $("#div3").slideToggle();
        });

 

 

  • animate({params},speed,callback);---(params参数定义形成动画的css属性)自定义动画
    • ps:默认的HTML元素都有一个静态位置,且无法移动,
    • 把元素的css:position属性设置为relative.
    • 可以操作多个animate({left:'250px',opacity:'0.5',width:'150px'});
    • 使用相对值:animate(left,'250px');
    • 使用预定义的值:animate({height:'toggle'});可以把属性的动画值设置为show/hide/toggle。
    • 在彼此之后执行不同的动画,需要使用队列:
      • $("button").click(function(){
          var div=$("div");
          div.animate({height:'300px',opacity:'0.4'},"slow");
          div.animate({width:'300px',opacity:'0.8'},"slow");
          div.animate({height:'100px',opacity:'0.4'},"slow");
          div.animate({width:'100px',opacity:'0.8'},"slow");
        });

停止动画:

stop() 方法用于停止动画或效果,在它们完成之前

stop(stopAll,goToEnd):

可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。

因此,默认地,stop() 会清除在被选元素上指定的当前动画。

尺寸:

  • width()-----------方法用来设置或返回元素的宽度(不包括内边距,边框或外边距)
  • height()----------方法设置或返回元素的高度(不包括内边距,边框或外边距)
  • innerWidth()----返回元素的宽度(包括内边距)
  • innerHeight()---返回元素的高度(包括内边距)
  • outerWidth()----返回元素的宽度(包括内边距和边框)---属性填true,包括外边距
  • outerHeight()---返回元素的高度(包括内边距和边框)---属性填true,包括外边距

父/子/兄弟元素:

父元素: 

  • parent()------------返回被选元素的直接父元素
  • parents()-----------返回被选元素的所有祖先元素,直到html,如果填写参数,会检索指定所有父级的参数
  • parentsUntil()------返回介于两个给定元素之间的所有祖先元素。
$("span").parent();
$("span").parents();
$("span").parents("ul");
$("span").parentsUntil("div");

 子元素:

  • children()------------返回被选元素的所有直接子元素
  • find()------------------返回被选元素的后代元素,一直向下直到最后一个后代
$("div").children();//所有直接子元素
$("div").children("p.1");//div例所有类名为1的所有<p>元素,并且都是直接子元素
$("div").find("span");//div的所有span子元素
$("div").find("*");//div的所有子元素

兄弟元素: 

  • siblings()--------------返回所有的兄弟元素
  • next()-------------------返回下一个兄弟元素
  • nextAll()----------------返回之后的所有兄弟元素
  • nextUntil()-------------返回两个参数之间的兄弟元素
  • prev()-------------------返回上一个兄弟元素
  • prevAll()----------------返回之前的所有兄弟元素
  • prevUntil()-------------返回两个参数之间的性地元素(顺序不同)

过滤:

  • first()--------------------返回首个元素
  • last()---------------------返回最后一个元素
  • eq()-----------------------返回被选元素中带有指定索引的元素
  • filter()---------------------返回带有某种属性的所有元素
  • not()-----------------------返回不带有某种属性的所有元素与filter相反
$("div p").first();
$("div p").last();
$("p").eq(1);
$("p").filter(".intro");
$("p").not(".intro");

遍历:

each():遍历每个元素

用箭头函数必须传参

        参数一:index---遍历的索引

        参数二:item---当前正在遍历的项

        为什么不能用this,因为this指向的不是DOM,指向的是当前函数的调用者.

$("li").each(function(){
    alert($(this).text());//打印所有li的text文本内容
});
$("input[id=a]").each((index,item)=>{
    item.checked=!item.checked;//让id=a的input标签选中状态取反
});

还有一堆遍历:更多遍历方式

转载请注明出处或者链接地址:https://www.qianduange.cn//article/9444.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!