暑假的第一天学习:jQuery的初步认知和实例训练

一、jq的引入    <script src="./jq.min.js"></script>

二、jq页面的加载事件和js的区别

           js的加载事件只会执行一个,会执行最后的一个;jq会全部执行

三、jq对象和js的互相转换

                 //dom对象---使用原生js获取的对象

                var div = document.querySelector("div");

                console.log(div);

                // div.innerHTML = "js修改了div的值"

                //jq对象---使用jq获取过了的对象

                //jq的本质是一个数组

        

                var $div = $("div"); //获取的对象都是伪数组,无论多少

                $div.html("阿福") //jq修改div的值

                console.log($div)

                //转换 名字前是否有 $ 都可以

                var $mm = $(div) //把js的对象改为jq的对象

                //二者之间可以相互转换

                //jq对象-->jq对象

                //格式

                //$(dom对象)

                //jq对象-->jq对象

                //格式

                //$对象[索引值]

                var mm = $div[0];

                mm.innerHTML = "阿福痛扁了成龙";

四、jq选择器

        

        <ul>

            <li>我是第1个li</li>

            <li>我是第2个li</li>

            <li>我是第3个li</li>

            <li>我是第4个li</li>

            <li>我是第5个li

                <ul>

                    <ol>这是第1个ol</ol>

                    <ol>这是第2个ol</ol>

                    <ol>这是第3个ol</ol>

                    <ol>这是第4个ol</ol>

                    <ol>这是第5个ol</ol>

                </ul>

            </li>

        </ul>

    </div>

    <script>

        //重点


        // $('li:first'):第一个元素
        console.log($('li:first'));
        // $('li:last'):最后一个元素
        console.log($("li:last"));
        // $('li:eq(2)')==》索引为2【查找指定索引的元素】从0开始   
        console.log($('li:eq(2)'));
        // $('li:odd')==》索引为偶数
        console.log($('li:odd'));
        // $('li:even')==》索引为奇数
        console.log($("li:even"));

        //         $('li').parent()         //父级 
        console.log($('li').parent());
        // $('ul').children('li');
        //     //子集【如果不加参数,获取所有的,如果添加指定的元素,按照指定的找】   
        console.log($('ul').children('ol'));
        // $('ul').find('li')      //后代   
        console.log($('ul').find('li'));
        // $('li').siblings('li')  //兄弟   
        console.log($('.aaa').siblings('li'));
        // $('li'),nextAll();      //后面的
        console.log($('li').nextAll());
        // $('li').prevAll();      // 前面的
        console.log($('li').prevAll());
        // //判断是否具有某个类名
        // $('div').hasClass('aaa')
        console.log($('li').hasClass('aaa'));
        // $('div').eq(index);     //指定索引方法【eq推荐用方法】

五、jq改变样式与链式编程

         111111111111

    <!--当点击时,给按钮添加100px的宽度 -->

    <button>按钮1</button>

    <button>按钮2</button>

    <button>按钮3</button>

    <button>按钮4</button>

    <button>按钮5</button>

    <script>

        //获取按钮

        var $btn = $('button');

        //给按钮添加点击事件

        //jq把所有的事件都进行封装,事件名去掉on

        //隐式迭代:不需要循环,直接用(遍历内部dom元素的过程叫做隐式迭代)

        $btn.click(function() {

            // //获取样式 jq对象.css("样式名称")

            // //修改样式 jq对象.css("样式名称",样式值)

            // $(this).css("width", 100)

            // $(this).css("color", "#39c5bb")

            // $(this).siblings().css({//排他思想 :当前元素设置样式,其余的兄弟清除样式

            //     "color": "",

            //     "width": ""

            // })

            //链式编程(一条线直接完事)

            $(this).css({

                "width": "100",

                "color": "#39c5bb"

            }).siblings().css({

                "color": "",

                "width": ""

            })

            $(this).siblings().parent().css({

                color: "red",

                width: 100

            })

        })

    六、jq的类操作

        $(function() { //添加类

            // $("div").click(function() {

            //     $(this).addClass("box")

            // })

            //移除类

            // $("div").click(function() {

            //     $(this).removeClass("box")

            // })

            //切换类

            $("div").click(function() {

                $(this).toggleClass("box")

            })

            //切换类不影响其他类

            // $("div").click(function() {

            //     $(".box1").toggleClass("box")

            // })

        })

七、动画

    <style>

        div {

            width: 200px;

            height: 200px;

            background-color: aqua;

            margin-top: 20px;

            display: none;

        }

    </style>

</head>

<body>

    <button class="showbt">点击显示div</button>

    <button class="hidbtn">点击隐藏div</button>

    <button class="togbtn">点击切换div</button>

    <div></div>

    <script>

        // $(".showbt").click(function() {

        //     $("div").show(1000) //show可以添加效果speed,[easing],[fn],1都可以不写   2 speed 代表速度,

        //         //有三个值,代表速度 slow/normal/fast,也可以直接写毫秒值

        //         //easing  1 swing摆动  2 linear 直线

        // })

        // $(".hidbtn").click(function() {

        //     $("div").hide(2000, function() {

        //         alert("隐藏好了")

        //     })

        // })

        // $(".togbtn").click(function() {

        //     $("div").toggle(1000)

        // })

        //滑动

        // $(".showbt").click(function() {

        //     $("div").slideDown(1000)

        // })

        // $(".hidbtn").click(function() {

        //     $("div").slideUp(2000, function() {

        //         alert("隐藏好了")

        //     })

        // })

        // $(".togbtn").click(function() {

        //     $("div").slideToggle(1000)

        // })

        //淡入淡出

        $(".showbt").click(function() {

            $("div").fadeIn(1000)

        })

        $(".hidbtn").click(function() {

            $("div").fadeOut(2000, function() {

                alert("隐藏好了")

            })

        })

        $(".togbtn").click(function() {

            //透明度 fadeTo(speed,opacity) 两个参数都得写

            $("div").fadeToggle(1000)

        })

    </script>

</body>

———————————————————————————————————————————

实例练习

一、鼠标移入显示

    <style>

        .nav {

            list-style: none

        }

       

        a {

            text-decoration: none;

        }

       

        .nav>li {

            height: 41px;

            text-align: center;

            float: left;

            width: 100px;

        }

       

        .nav li a {

            display: block;

            width: 100%;

            height: 100%;

            line-height: 41px;

            color: #333;

        }

       

        .nav>li>a>:hover {

            background-color: #eee;

        }

       

        .nav ul {

            display: none;

            padding: 0;

            width: 100%;

            border-left: 1px solid #feecc5;

            border-right: 1px solid #feecc5;

        }

       

        .nav ul li {

            border-bottom: 1px solid #feecc5;

            list-style: none

        }

       

        .nav ul li a:hover {

            background-color: #fff5da;

        }

    </style>

    <script src="./jq.min.js"></script>

</head>

<body>

    <ul class="nav">

        <li>

            <a href="#">微博</a>

            <ul>

                <li>

                    <a href="">私信</a>

                </li>

                <li>

                    <a href="">评论</a>

                </li>

                <li>

                    <a href="">@我</a>

                </li>

            </ul>

        </li>

        <li>

            <a href="#">微博</a>

            <ul>

                <li>

                    <a href="">私信</a>

                </li>

                <li>

                    <a href="">评论</a>

                </li>

                <li>

                    <a href="">@我</a>

                </li>

            </ul>

        </li>

        <li>

            <a href="#">微博</a>

            <ul>

                <li>

                    <a href="">私信</a>

                </li>

                <li>

                    <a href="">评论</a>

                </li>

                <li>

                    <a href="">@我</a>

                </li>

            </ul>

        </li>

        <li>

            <a href="#">微博</a>

            <ul>

                <li>

                    <a href="">私信</a>

                </li>

                <li>

                    <a href="">评论</a>

                </li>

                <li>

                    <a href="">@我</a>

                </li>

            </ul>

        </li>

    </ul>

    <br>

    <script>

        $(function() {

            $(".nav>li").mouseover(function() {

                $(this).children("ul").show();

            })

            $(".nav>li").mouseout(function() {

                $(this).children("ul").hide();

            })

        })

二 、鼠标点击显示内容

 <style>

        * {

            margin: 0;

            padding: 0;

        }

       

        li {

            list-style-type: none;

        }

       

        .tab {

            width: 978px;

            margin: 100px auto;

        }

       

        .tab_list {

            height: 39px;

            border: 1px solid #ccc;

            background-color: #f1f1f1;

        }

       

        .tab_list li {

            float: left;

            height: 39px;

            line-height: 39px;

            padding: 0 20px;

            text-align: center;

            cursor: pointer;

        }

       

        .tab_list .current {

            background-color: #c81623;

            color: #fff;

        }

       

        .item_info {

            padding: 20px 0 0 20px;

        }

       

        .item {

            display: none;

        }

    </style>

    <script src="./jq.min.js"></script>

</head>

<body>

    <div class="tab">

        <div class="tab_list">

            <ul>

                <li class="current">商品介绍</li>

                <li>规格与包装</li>

                <li>售后保障</li>

                <li>商品评价(50000)</li>

                <li>手机社区</li>

            </ul>

        </div>

        <div class="tab_con">

            <div class="item" style="display: block;">

                商品介绍模块内容

            </div>

            <div class="item">

                规格与包装模块内容

            </div>

            <div class="item">

                售后保障模块内容

            </div>

            <div class="item">

                商品评价(50000)模块内容

            </div>

            <div class="item">

                手机社区模块内容

            </div>

        </div>

    </div>

    <script>

        // 1.点击上部的li, 添加类,其余的兄弟移除类

        // 2.点击的同时,得到相对应的li的索引号

        // 3.让下部的内容和索引号相对应的item显示,其余的隐藏

        $(function() {

            $("li").click(function() {

                $(this).addClass("current").siblings().removeClass("current")

                $(".item").eq($(this).index()).show().siblings().hide()

            })

            // $("li").click(function() {

            //     $(this).css({

            //         "background": "#c81623",

            //         "color": "white"

            //     })

            //     $(this).siblings().css({

            //         "backgroundColor": "",

            //         color: ""

            //     })

            //     $(".item").eq($(this).index()).css(

            //         "display", "block"

            //     ).siblings().css(

            //         "display", "none"

            //     )

        })

    </script>

  </body>

三、京剧高亮动画练习

        

<style>

        .con {

            /* border: 1px solid black; */

            width: 606px;

            overflow: hidden;

            display: flex;

            flex-wrap: wrap;

            margin: 100px auto;

            background-color: black;

        }

        .con-item {

            /* float: left; */

            width: 200px;

            height: 200px;

            border: 1px solid white;

            background-color: yellowgreen;

            cursor: pointer;

        }

       

        img {

            height: 200px;

            width: 200px;

        }

    </style>

    <script src="./jq.min.js"></script>

</head>

<body>

    <div class="con">

        <div class="con-item"><img src="./京剧/1.jpg"></div>

        <div class="con-item"><img src="./京剧/2.jpg"></div>

        <div class="con-item"><img src="./京剧/3.jpg"></div>

        <div class="con-item"><img src="./京剧/4.jpg"></div>

        <div class="con-item"><img src="./京剧/5.jpg"></div>

        <div class="con-item"><img src="./京剧/6.jpg"></div>

        <div class="con-item"><img src="./京剧/7.jpg"></div>

        <div class="con-item"><img src="./京剧/8.jpg"></div>

        <div class="con-item"><img src="./京剧/9.jpg"></div>

    </div>

    <script>

        $(function() {

            $(".con-item").hover(function() {

                console.log($(this))

                $(this).stop().fadeTo(100, 1) //让鼠标在的图片高亮

                $(this).siblings().stop().fadeTo(100, 0.8) //其他图片变暗

            }, function() {

                //鼠标滑出时,让所有图片变亮

                $(this).stop().fadeTo(100, 1)

                $(this).siblings().stop().fadeTo(100, 1)

            })

        })

    </script>

</body>

四、王者荣耀手风琴动画练习

    <style type="text/css">

        * {

            margin: 0;

            padding: 0;

        }

       

        img {

            display: block;

        }

       

        ul {

            list-style: none;

        }

       

        .king {

            width: 852px;

            margin: 100px auto;

            background: url(images/bg.png) no-repeat;

            overflow: hidden;

            padding: 10px;

        }

       

        .king ul {

            overflow: hidden;

        }

       

        .king li {

            position: relative;

            float: left;

            width: 69px;

            height: 69px;

            margin-right: 10px;

        }

       

        .king li.current {

            width: 224px;

        }

       

        .king li.current .big {

            display: block;

        }

       

        .king li.current .small {

            display: none;

        }

       

        .big {

            width: 224px;

            display: none;

        }

       

        .small {

            position: absolute;

            top: 0;

            left: 0;

            width: 69px;

            height: 69px;

            border-radius: 5px;

        }

    </style>

</head>

<body>

    <script src="./jq.min.js"></script>

    <div class="king">

        <ul>

            <li class="current">

                <a href="#">

                    <img src="images/m1.jpg" alt="" class="small">

                    <img src="images/m.png" alt="" class="big">

                </a>

            </li>

            <li>

                <a href="#">

                    <img src="images/l1.jpg" alt="" class="small">

                    <img src="images/l.png" alt="" class="big">

                </a>

            </li>

            <li>

                <a href="#">

                    <img src="images/c1.jpg" alt="" class="small">

                    <img src="images/c.png" alt="" class="big">

                </a>

            </li>

            <li>

                <a href="#">

                    <img src="images/w1.jpg" alt="" class="small">

                    <img src="images/w.png" alt="" class="big">

                </a>

            </li>

            <li>

                <a href="#">

                    <img src="images/z1.jpg" alt="" class="small">

                    <img src="images/z.png" alt="" class="big">

                </a>

            </li>

            <li>

                <a href="#">

                    <img src="images/h1.jpg" alt="" class="small">

                    <img src="images/h.png" alt="" class="big">

                </a>

            </li>

            <li>

                <a href="#">

                    <img src="images/t1.jpg" alt="" class="small">

                    <img src="images/t.png" alt="" class="big">

                </a>

            </li>

        </ul>

    </div>

    <script>

        //鼠标经过某个小1i 有两步操作:

        //1.当前小li 宽度变为 224px, 同时里面的小图片淡出,大图片淡入

        // 2.其余兄弟小1i宽度变为69px,小图片淡入, 大图片淡出

        $("li").mousemove(function() {

            $(this).stop().animate({

                width: 224

            }).find(".small").stop().fadeOut().siblings(".big").stop().fadeIn()

            $(this).siblings().stop().animate({

                width: 69

            }).find(".small").stop().fadeIn().

            siblings(".big").stop().fadeOut()

        })

    </script>

</body>

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值