WEB前端--Day8 (jQuery)

一、jQuery选择器

1.基本选择器

1.1ID选择器

语法:$("#id")

说明:相当于js中的docuemnt.getElementById("id")

举例:$("#box"); //获取id值为box的元素对象

1.2元素选择器【标签名称选择器】

语法:$("标签名称")

说明:相当于js中的docuement.getElementsByTagName("标签名称")

举例:$("p");//获取当前html页面中所有的p标签对象

1.3类名选择器

语法:$(".class")

说明:相当于js中的document.getElementsByClassName("class")

举例:$(".cls");//获取当前页面中class属性的值为cls的所有的标签对象

1.4复合选择器【组合选择器】

语法:$("selector1,selector2,.......")

举例:$("div,#btn");//获取当前html页面中所有的div标签和id值为btn的标签

1.5通配符选择器

语法:$("*")

举例:$("*");//获取当前html页面中所有的标签对象

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div id="box"></div>
        <div class="cls"></div>
        <script>
            //页面加载函数
            /*$(document).ready(function(){
                
            })
            
            //可以简写为:
            $().ready(function(){
                
            })
            */
            //还可以 简写
            $(function(){
                
                //ID选择器
                //注意:在jQuery的变量的前面,一般会加上$,为了区分js和jQuery【在js中,标识符的组成是允许使用$】
                var $jqDiv = $("#box");
                $jqDiv.html("hfajhgjahgjae");
                
                
                //元素选择器
                var $jqDiv1 = $("div");
                
                
                //类选择器
                var $jqDiv2 = $(".cls")
                $jqDiv2.html("hello");
            })
        </script>
    </body>
</html>

2.层次选择器【包含选择器】

2.1ancestor descendant选择器

父子选择器或者先辈后辈选择器

语法:$("ancestor descendant")

说明:ancestor 和descendant表示任何有效的基本选择器

举例:$("ul li");//获取ul标签里面的所有的li标签

2.2parent>child选择器

父子选择器

语法:$("parent>child")

举例:$("form>input");//获取表单标签下所有的input标签

2.3prev+next选择器

previous:之前的

next:后来的

兄弟标签选择器

语法:$("prev+next")

说明:prev和next是相同级别的元素,用于匹配紧跟在prev元素后面的next元素

注意:每次只能匹配一个紧跟的兄弟标签

2.4prev~siblings选择器

语法:$("prev~siblings")

说明:prev和sibilings是相同级别的元素,用于匹配prev之后所有的siblings元素

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div id="box">
            <p>hello</p>
            <div>
                <p>world</p>
            </div>
        </div>
        
        <ul id="l">
            <li>111</li>
            <li>2222</li>
        </ul>
        
        <div id="d">aaaa</div>
        <div>bbbb</div>
        <div>dddd</div>
        <div>eeee</div>
        <div class="dd">cccc</div>
        
        <script>
            
            $(function(){
                
                //父子选择器或者先辈后辈选择器
                //注意:如果同时有子标签和后辈标签,首先匹配子标签,
                var $jqObj = $("#box p");
                console.log($jqObj.html());
                
                //父子选择器
                var $jqObj1 = $("ul>li");
                var $jqObj2 = $("#l>li");
                
                //兄弟选择器
                //只匹配一个
                var $jqObj3 = $("#d+div");
                console.log($jqObj3.html());
                
                
                //兄弟选择器
                //匹配所有
                var $jqObj4 = $("#d~div");
                $jqObj4.html("~~~~~~~");
            })
        </script>
    </body>
</html>

3.过滤选择器

根据指定的条件进行元素的筛选【过滤】

3.1简单过滤器

指的是以冒号开头,用来实现简单过滤效果的选择器

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <p class="p1">aaaaaa</p>
        <p class="p1">bbbbb</p>
        <p class="p1">cccccc</p>
        <p class="p1">dddddd</p>
        <p class="p1">eeeeeee</p>
        <p class="p2">ffffffff</p>
        
        
        <h2>标题</h2>
        
        <script>
            
            $(function(){
                //类似于伪类选择器
                //:first   只匹配第一个元素
                $(".p1:first").html("first");
                
                //:last    只匹配最后一个元素
                
                //:even  匹配所有索引值为偶数的元素
                $(".p1:even").html("even");
                
                //:odd   匹配所有索引值为奇数的元素
                $(".p1:odd").html("odd");
                
                //:eq(index)   匹配指定索引的元素
                $(".p1:eq(2)").html("eq~~~~");
                
                //:gt(index)   匹配所有大于指定index的元素
                //注意:不包含指定索引
                $(".p1:gt(2)").html("gt~~~~");
                
                //:lt(index)   匹配所有小于指定index的元素
                //注意:不包含指定索引
                $(".p1:lt(2)").html("lt~~~~");
                
                //:header   匹配标题元素【h1~h6】
                $(":header").html("啦啦啦啦阿里");
                
                //:not(selector)    否定【去除所有指定选择器对应标签】
                $("p:not(.p1)").html("hello");
                
                //:animated   匹配所有正在执行动画的标签
            })
        </script>
    </body>
</html>

3.2内容过滤器

通过标签的文本内容筛选标签

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <p class="p1">aaaaaa</p>
        <p class="p1">bbbbb</p>
        <p class="p1">htmlPython</p>
        <p class="p1">
            <font></font>
        </p>
        
        
        <table>
            <tr>
                <td>
                    <p>this is a text</p>
                </td>
                <td>
                    <p> today is a good day</p>
                    <span></span>
                </td>
            </tr>
        </table>
        
        
        <script>
            
            $(function(){
                //:contains(xx)  匹配包含指定文本的元素
                $(".p1:contains('html')").html("包含html");
                
                //:empty   匹配文本为空的元素
                $(".p1:empty").html("空的元素");
                
                //:has(xx)   匹配含有选择器所匹配到的元素  
                console.log($("td:has(span)"));//匹配含有span标签的td
                
                //:parent  匹配有父标签的元素
                $(".p1:parent").html("hgshgja");
            })
        </script>
    </body>
</html>

3.3可见性过滤器

元素的可见性分为两种:可见或者不可见【显示或者隐藏】

作用:通过元素的可见状态匹配元素

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <input type="text" value="aaa" />
        <!--设置隐藏-->
        <!--方式一-->
        <input type="hidden" value="bbbbb" />
        <!--方式二-->
        <input type="text" style="display: none;" />
        
        
        <script>
            
            $(function(){
                //:visible     匹配可见的元素
                console.log($("input:visible").val());
                
                
                //:hidden   匹配不可见的元素
                //注意:在已经筛选的结果之上还可以继续筛选
                $("input:hidden:last");
            })
        </script>
    </body>
</html>

3.4表单对象的属性过滤器

表示通过表单元素的状态属性匹配元素,比如:选中,不可用等状态

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <form>
            <input type="checkbox" checked="checked" value="复选框1" />
            <input type="checkbox" checked="checked" value="复选框2" />
            <input type="checkbox" value="复选框3" />
            
            
            <input type="button" value="不可用按钮" disabled/>
            
            
            <select onchange="selectVal()">
                <option selected="selected">aaaa</option>
                <option>bbbbb</option>
            </select>
        </form>
        
        <script>
            
            $(function(){
                //:checked    匹配所有被选中的input标签
                console.log($("input:checked:eq(0)").val());//匹配到了复选框1
                
                //:disabled
                $("input:disabled");
                
                //:enabled
            })
            
            //:seleted
            function selectVal(){
                //匹配所有被选中的option
                $("select option:selected").val();
            }
        </script>
    </body>
</html>

3.5子元素过滤器

筛选某个指定元素的子元素,具体的过滤条件由选择器决定

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
        
        
        <ul>
            <li>hello</li>
        </ul>
    
        
        <script>
            
            $(function(){
                //类似于css中的结构选择器
                //:first-child   匹配所有给定元素的第一个元素
                $("ul li:first-child").html();
                
                //:last-child  
                $("ul li:last-child").html();
                
                //:only-child  如果某个元素是它父元素的唯一的子元素,则才会被匹配
                //注意:侧重匹配的是子元素
                console.log($("ul li:only-child").html());
                
                //:nth-child(index)  匹配第index个元素  
                $("ul li:nth-child(2)").html();
            })
        </script>
    </body>
</html>

4.属性选择器

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            div{
                width: 100px;
                height: 50px;
                margin: 10px;
            }
        </style>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div name="div1"></div>
        <div name="div2"></div>
        <div name="div3"></div>
        <div name="div4"></div>
        <div name="div1"></div>
        <div name="div1hello"></div>
        <div name="div1abc"></div>
        <div></div>
        
        <script>
            
            $(function(){
                
                //[attr]   匹配包含指定属性的元素
                //$("div[name]").css("background-color","red");
                
                //[attr=val]
                //$("div[name='div2']").css("background-color","blue");
                
                //[attr!=val]
                //$("div[name!='div1']").css("background-color","green");
                
                
                //[attr*=val]  有几个匹配几个【贪婪匹配】
                //$("div[name*='div1']").css("background-color","green");
                
                //[attr^=val]   name属性的值以div1开头的标签
                //$("div[name^='div1']").css("background-color","green");
                
​
                //[attr$=val]
                $("div[name$='div1']").css("background-color","green");
                
                
            })
        </script>
    </body>
</html>

5.表单选择器

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <form>
            <input type="checkbox" />
            <input type="radio" />
            <input type="file" />
            <input type="image" />
            <input type="password" />
            <input type="text" />
            <input type="reset" />
            <input type="submit" />
            <input type="button" />
        </form>
        
        <script>
            
            $(function(){
                
                //:type的取值   可以匹配根据type进行分类的不同input标签对象
                
                var $jqObj1 = $(":checkbox");
                
                
                var $jqObj1 = $(":password");
                
                
            })
        </script>
    </body>
</html>

6.注意问题

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <div id="box#test"></div>
        
        
        <div class="name">
            <div style="display: none;">小王</div>
            <div style="display: none;">小丽</div>
            <div style="display: none;">小李</div>
            <div style="display: none;" class="name">小刘</div>
        </div>
        
        <div style="display: none;" class="name">小yang</div>
        <div style="display: none;" class="name">小wang</div>
        
        <script>
            
            $(function(){
                //1.选择器中包含#  .   ()  :等特殊符号
                //注意:当某个属性的值出现类似的特殊符号时,解决办法是通过\\进行转义
                $("#box\\#test").html();
                
                
                //2.空格
                //层次选择器【父子、先辈后辈】
                var $jqObj1 = $(".name :hidden");
                
                //过滤选择器
                var $jqObj2 = $(".name:hidden");
                
            })
        </script>
    </body>
</html>

二、jQuery操作元素

1.操作文本内容

text()

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div>
            <p>hjerhgjahg</p>
        </div>
        
        
        <div>
            <p>hjerhgjahg~~~~~</p>
        </div>
        
        <!--
            
            文本内容:div的文本内容是hjerhgjahg,文本内容不包含元素的子元素,只包含纯文本
            html内容:diiv的html内容是<p>hjerhgjahg</p>,html内容不仅包含纯文本,还包含子标签
        -->
        
        <script>
            
            $(function(){
                /*
                 * text()   用获取匹配到的所有元素的文本内容
                 * 
                 * 
                 * text(xx)  用于设置全部匹配到的 元素的文本
                 * 注意:元素原来的内容将会被新设置的内容替换掉,包括html内容
                 */
                
                //获取文本内容
                //console.log($("div").text());
                //alert($("div").text());
                
                //设置文本内容
                //注意:不能识别html标签,只能识别纯文本
                $("div").text("<span>abc</span>");
                
            })
        </script>
    </body>
</html>

2.操作html内容

html()

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div>
            <p>hjerhgjahg</p>
        </div>
        
        
        <div>
            <p>hjerhgjahg~~~~~</p>
        </div>
        
        
        
        <script>
            
            $(function(){
                /*
                html()  用于获取第一个匹配到的元素的内容
                
                
                html(xx)  用于设置全部匹配到的元素的内容
                 */
                
                //获取
                //注意:子标签+纯文本,只能获取第一个
                //alert($("div").html());
                
                //设置
                //注意:区别于text(),可以识别html标签
                $("div").html("<span>hello</span>");
                
            })
        </script>
    </body>
</html>

3.操作元素值

val()

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <input type="text" value="123"/>
        <input type="text" value="456"/>
        
        
        <script>
            
            $(function(){
                /*
                 * value
                 * 
                 * val()  用于获取第一个匹配到的元素的值
                 * 
                 * val(xx)     用于设置所有匹配到的元素的值
                 * 
                 * 类似于html()
                 */
                
                //alert($("input").val());
                
                
                $("input").val("kkkgkrghh");
                
            })
        </script>
    </body>
</html>

4.操作元素的css样式

4.1修改css的类

addClass()

removeClass()

toggleClass()

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            .box{
                
            }
            
            .change1{
                width: 100px;
                height: 100px;
                background-color: red;
            }
            
            .change2{
                width: 100px;
                height: 100px;
                background-color: blue;
            }
            
            
        </style>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div class="box"></div>
        
        
        <script>
            
            $(function(){
                /*
                 * addClass()   用于给所有匹配到的元素添加指定的css类名
                 * 
                 * 
                 * removeClass()   从所有匹配的元素中删除全部或者指定的class类
                 * 
                 * 
                 * toggleClass()   如果指定的类存在则删除,如果不存在则添加
                 */
                
                //将change1中设置的样式可以作用于div元素【多个类选择器可以同时作用于同一个元素】
                $("div").addClass("change1");
                
                //$("div").removeClass("change1");
                
                //$("div").toggleClass("change2");
                
                $("div").toggleClass("change1");
                
                
                //修改css的类:动态给元素添加类或者删除类,为了在代码执行过程中,可以随时添加样式和删除样式    
            })
        </script>
    </body>
</html>

4.2修改css属性

css()

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            div{
                width: 100px;
                height: 100px;
            }
            
        </style>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        <div class="box"></div>
        
        <div></div>
        
        <script>
            
            $(function(){
                /*
                 css(name)  获取第一个匹配到的元素的属性值
                 
                 css(name,value) 为所有匹配的元素设置样式
                 */
                
                //设置单个属性
                //$("div").css("background-color","blue");
                
                //设置多个属性
                //类似于字典的使用,通过key:value的方式进行设置样式
                $("div").css({"background-color":"red","border":"1px solid black"});
                
                
                //获取属性值
                alert($("div").css("width"));
                
            })
        </script>
    </body>
</html>

三、jQuery操作DOM

1.创建节点

createElement()

createTextNode()

createAttribute()

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
​
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        
        <div>
            
        </div>
        
        <script>
            
            $(function(){
                /*
                 * 步骤:
                 * 1.创建元素节点
                 *      $(html),根据传入的html标签,创建一个DOM对象,并且将这个DOM对象转换为jQuery
                 * 对象
                 * 
                 * 2.创建文本节点
                 *      在创建元素节点的时候将文本内容直接写出来,然后使用append等方法将其添加到文档中
                 * 
                 * 3.创建属性节点
                 *      创建文本节点类似,在创建元素节点的时候一起创建
                 */
                
                
                //创建元素节点
                var $jqObj1  = $("<p></p>");
                $("div").append($jqObj1);
                
                //创建文本节点
                var $jqObj2  = $("<p>hello</p>");
                $("div").append($jqObj2);
                
                //创建属性节点
                var $jqObj3  = $("<p name='abc'>hello</p>");
                $("div").append($jqObj3);
                
            })
        </script>
    </body>
</html>

2.插入节点

2.1在元素内部插入

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        
        <div></div>
        
        <script>
            
            $(function(){
                /*
                 * append(xx)  向所有匹配到的元素追加内容
                 * 
                 * appendTo(xx)  将所有匹配到的元素追加到指定元素
                 * 
                 */
                
                //创建节点
                var $p_1 = $("<p>hello</p>");
                var $p_2 = $("<p>hello~~~~~</p>");
                
                var $div = $("div");
                
                
                //注意区分二者的调用对象
                $div.append($p_1);
                
                $p_2.appendTo($div);
                
            })
        </script>
    </body>
</html>

2.2在元素外部插入

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        
        <p></p>
        <!--<p>hyello</p>-->
        
        <script>
            
            $(function(){
                /*
                在元素外部插入元素:给已知的元素添加兄弟元素
                
                
                after(xx)    在每个匹配到的元素之后插入内容
                
                insertAfter(xx)   将所有匹配到的元素插入到另一个指定元素的后面
                
                before(xx)   在每个匹配到的元素之前插入内容
                
                insertBefore(xx)   将所有匹配到的元素插入到另一个指定元素的前面
                 */
                
                
                var $p  = $("p");
                
                //创建带有文本节点的元素节点
                var $p_1 = $("<p>hello</p>");
                var $p_2 = $("<p>hello~~~~~</p>");
                
                
                //类似于append和appendTo()
                $p.after($p_1);
                $p_2.insertAfter($p);
                
                
                //总结:在内部插入表示添加子标签,在外部插入表示添加兄弟标签
            })
        </script>
    </body>
</html>

3.删除节点

4.复制节点

5.替换节点

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        
        <p></p>
        <!--<p>hyello</p>-->
        
        <div id="div1"></div>
        <div id="div2"></div>
        
        <script>
            
            $(function(){
                /*
                    删除节点
                 * remove()   从DOM中删除匹配到的元素
                 * 
                 * 
                 * detach()   从DOM中删除匹配到的元素
                 * 
                 * 区别:remove删除某个节点,则该节点包含的所有的子节点都会被删除,remove方法返回一个
                 * 指向被删除节点的引用,以后可以继续使用这些元素
                 *      detach绑定的事件或者附加的数据都会保留下来
                 * 
                 *
                 * empty()  并不是删除节点,将节点清空,可以清空元素中的所有的后代节点
                
                 */
                
                
                /*
                 * 复制节点
                 * 
                 * clone()   将匹配到的元素克隆一个副本
                 * clone(boolean)   
                 *      true:将匹配到的元素和元素的事件都克隆出来
                 *      false:只克隆匹配到的元素
                 * 
                 * 
                 * 和js中的复制cloneNode的用法相同
                 */
                
                
                /*
                 * 替换节点
                 * 
                 * replaceAll()
                 * 
                 * replaceWith()
                 */
                
                //类似于append和appendTo
                $("#div1").replaceWith("<div>hello</div>");
                
                $("<div>hello</div>").replaceAll("#div2");
            })
        </script>
    </body>
</html>

6.遍历节点

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <img width="300px" height="300px" src="img/事件流.png" />
        <img width="300px" height="300px" src="img/事件流.png" />
        <img width="300px" height="300px" src="img/事件流.png" />
        <img width="300px" height="300px" src="img/事件流.png" />
        <img width="300px" height="300px" src="img/事件流.png" />
        <img width="300px" height="300px" src="img/事件流.png" />
        
        
        
        <script>
            
            $(function(){
                //each(callback)  
                //callback   回调函数,该函数可以接收一个形参index,index表示遍历元素的序号
                
                $("img").each(function(index){
                    //需求:给没张图片添加标题【title】
                    
                    $(this).attr("title","第" + index + "张");
                })
                
            })
        </script>
    </body>
</html>

7.包裹节点

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <span>this is a good day</span>
        <span>this is a bad day</span>
        <span>this is a nice day</span>
        <span>this is a wind day</span>
        
        <button>包裹节点</button>
        <button>去除包裹</button>
        <button>整体包裹</button>
        <button>包裹内部</button>
        
        
        <script>
            
            $(function(){
                
                //包裹节点:wrap()
                $("button:eq(0)").click(function(){
                    //把匹配到的每一个span标签用p标签包裹起来
                    $("span").wrap("<p></p>");
                })
                
                //去除包裹:unwrap()
                $("button:eq(1)").click(function(){
                    //把匹配到的每一个元素的父节点去除
                    $("span").unwrap();
                })
                
                //整体包裹 :wrapAll()
                $("button:eq(2)").click(function(){
                    //用一个指定元素包裹所有匹配到的元素
                    $("span").wrapAll("<p></p>");
                })
                
                //包裹内部:wrapInner()
                $("button:eq(3)").click(function(){
                    //在匹配到的每一个span标签中添加一个p标签
                    $("span").wrapInner("<p></p>");
                })
            })
        </script>
    </body>
</html>

四、动画

1.隐藏/显示

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #div1{
                width: 100px;
                height: 100px;
                background-color: red;
            }
        </style>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <div id="div1"></div>
        
        <button id="btn1">隐藏</button>
        <button id="btn2">显示</button>
        <button id="btn3">切换状态</button>
        
        <script>
            
            $(function(){
                /*
                 * 
                 * hide(speed,callback)
                 * show(speed,callback)
                 * 
                 * speed:速度,一般用时间表示,单位为毫秒
                 *       参照值:slow【600ms】  normal【400ms】  fast【200ms】
                 * callback:回调函数,动画指定完成之后需要指定的操作,一般使用匿名函数
                 * 
                 * */
                
                $("#btn1").click(function(){
                    
                    $("#div1").hide(1000,function(){
                        alert("动画执行完成");
                    })
                })
                
                $("#btn2").click(function(){
                    
                    $("#div1").show(1000,function(){
                        alert("动画执行完成");
                    })
                    
                })
                
                
                //切换可见状态
                //toggle()   如果元素存在则隐藏,如果不存在则显示
                $("#btn3").click(function(){
                    
                    $("#div1").toggle(1000,function(){
                        alert("动画执行完成");
                    })
                    
                })  
            })
        </script>
    </body>
</html>

2.切换可见状态

代码演示:

//切换可见状态
//toggle()   如果元素存在则隐藏,如果不存在则显示
$("#btn3").click(function(){
​
    $("#div1").toggle(1000,function(){
        alert("动画执行完成");
    })
​
})  

3.淡入/淡出

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #div1{
                width: 100px;
                height: 100px;
                background-color: red;
            }
        </style>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <div id="div1"></div>
        
        
        <button id="btn1">淡出</button>   
        <button id="btn2">淡入</button>
        
        
        <script>
            
            $(function(){
                /*
                 * 
                 * 透明度的变化
                 fadeIn()   淡入  ,相当于show,只不过动画不一样
                 
                 fadeOut()  淡出,相当于hide
                 * 
                 * */
                
                $("#btn1").click(function(){
                    
                    $("#div1").fadeOut(1000,function(){
                        alert("动画执行完成");
                    })
                })
                
                $("#btn2").click(function(){
                    
                    $("#div1").fadeIn(1000,function(){
                        alert("动画执行完成");
                    })
                    
                })
                
                    
            })
        </script>
    </body>
</html>

4.滑动

代码演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #div1{
                width: 100px;
                height: 100px;
                background-color: red;
            }
        </style>
        
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    </head>
    <body>
        
        <div id="div1"></div>
        
        
        <button id="btn1">滑出</button>   
        <button id="btn2">滑入</button>
        <button id="btn3">切换</button>
        
        
        <script>
            
            $(function(){
                /*
                 * 
                 * 透明度的变化
                 slideDown()   滑入  ,相当于show,只不过动画不一样
                 
                 slideUp()  滑出,相当于hide
                 
                 
                 slideToggle()    
                 * 
                 * */
                
                $("#btn1").click(function(){
                    
                    $("#div1").slideUp(1000,function(){
                        alert("动画执行完成");
                    })
                })
                
                $("#btn2").click(function(){
                    
                    $("#div1").slideDown(1000,function(){
                        alert("动画执行完成");
                    })
                    
                })
                
                $("#btn3").click(function(){
                    
                    $("#div1").slideToggle(1000,function(){
                        alert("动画执行完成");
                    })
                    
                })  
            })
        </script>
    </body>
</html>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值