• day57 Pyhton 前端Jquery09


    内容回顾:

      - 筛选选择器

        $('li:eq(1)')  查找匹配的元素

        $('li:first')

        $('li:last')

      - 属性选择器

      - 筛选的方法

        - find()  查找后代的元素

        - children()  查找亲儿子的元素

        - parent()  查找的亲爹

        - siblings()  查找的是兄弟(除自己之外)

        - eq()  查找匹配的元素

      -  DOM操作

        -类的操作

          -addClass('active pp')

          - removeClass('active pp')

          - toggleClass('active')

        - 标签属性操作

          -attr('src')

          -attr('src','./1.png')

          -attr('title',/校花)

          -attr ({'src':''1.png','title':'校花'})

          - 值的操作

          - text()  文本

          - html()  文本和标签

          - val()  只对表单元素有效

           <input name value type/>

            select

              <option>抽烟</option>

              <option value='喝酒'>喝酒</option>

              <option>烫头</option>

            <p>

              <a>123</a>

            </p>

        - 样式属性操作

          -css ('color','red')

          -css({})

        - 对象属性操作

          - prop()

          - removeProp()

       - 自定义动画

          - animate({},时间,fn)

    今日内容

      1.DOM的操作

        -追加元素  (后置追加)  父子

          content:可以是  jsDOM对象,  jquery对象,  标签字符串

          -  父.append(content)

          - 子.appendTo(父)

         -追加元素(前置追加)  父子

          - 父.prepend()

          -子.prependTo(父)

        - 兄弟插入

            - 参考节点.after()(要插入的兄弟节点)

          -要插入的兄弟节点.insertAfter(参考节点)

          - before()

          - inserBefore()

        - 替换操作

          - 原节点.replaceWith(替换的节点)

          - 替换的节点.replaceAll(原节点)

        -  删除操作

          - remove()  删除所有  元素和事件一起删除

          -  detach()  删除元素事件不删除

          -  empty()  清空

          -  html('')  清空内容

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                var oA = document.createElement('a');
                oA.href = '#';
                oA.innerText = '家辉'
    
    
              //  append(content) //jsDOM对象,jquery对象,标签字符串
                $('.box').append('<h1 id="aaa">得劲</h1>');
    
                $('#aaa').click(function () {
                    $(this).css('color','red');
                })
    
                //移动操作
                $('.box').append($('ul'));
    
                $('.box').append('<h3>得劲</h3>');
                $('.box').append(oA);
    
                $('<h1>得劲</h1>').appendTo('.box').css('color', 'red').click(function () {
    
                    $(this).css('color', 'yellow');
    
                })
                //
                //
                $('.box').prepend(`<ul>
                        <li class="item">龙飞</li>
                        <li class="item">龙飞</li>
                        <li>龙飞</li>
                    </ul>`);
                //
                $('.box').prepend(`<ol id="second">
                        <li class="item">龙飞</li>
                        <li class="item">龙飞</li>
                        <li>龙飞</li>
                    </ol>`);
                //
                $(`<ol id="first">
                        <li class="item"></li>
                        <li class="item"></li>
                        <li></li>
                    </ol>`).appendTo('ol li.item:eq(0)');
    
    
    
    
            })
        </script>
    </head>
    <body>
    <div class="box">
    
    </div>
    
    
    </body>
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                $('.box ul li.item').after('<li class="item2">家辉</li>');
                $('<li class="item3">龙飞</li>').insertAfter('.item2');
    
                $('.item3').replaceWith('<li id="box3">文杰</li>');
    
                $(`<li class="active">李鑫</li>`).replaceAll('ul li');
    
                $('<h2>艳林</h2>').replaceAll('.content p');
    
            })
        </script>
    </head>
    <body>
    <div class="box">
        <ul>
            <li class="item">得劲</li>
    
    
        </ul>
    
        <div class="content">
            <p>alex</p>
        </div>
    </div>
    
    
    </body>
    <script src="jquery.js"></script>
        <script>
            $(function () {
               $('.btn').click(function () {
                   alert(1111);
    
                   //remove()删除元素 元素和事件一起删除
                   let jBtn =  $(this).remove();
                   //删除元素 事件不删除
                   // let jBtn = $(this).detach();
                   console.log(jBtn)
    
                   $('.content').append(jBtn);
    
    
    
               })
    
               setTimeout(function () {
                    $('.content').empty();
               },2000)
            })
        </script>
    </head>
    <body>
    <div class="content">
    
        <h3>文正</h3>
    
    
    </div>
    <hr>
    <hr>
    <hr>
    <hr>
        <button class="btn">删除</button>
    </body>

    2.事件
            事件流
            - DOM2级事件
                - 事件捕获阶段
                - 处于目标阶段
                - 事件冒泡阶段
       
            鼠标事件:
                - click()
                - dblclick()
                  当鼠标穿过被选元素或者被选元素的子元素会被调用
                - mouseover()
                - mouseout()

    当鼠标穿过被选元素的时候会调用
                - mouseenter()
                - mouseleave()
                - mouseDown()
                - mouseUp()
                - mousemove()
                - focus()
                - blur()
            表单事件:
                - change()
                - select()
                - submit()

    <body>
        <button id="btn">
            按钮
        </button>
        <script>
            var oBtn = document.getElementById('btn');
    
            //false 默认为false 没有捕获阶段
            oBtn.addEventListener('click',function () {
                alert(1)
            },false)
            oBtn.onclick = function () {
                alert('弹出了');
            }
    
    
            document.addEventListener('click',function () {
                console.log('document处于捕获阶段')
            },true);
    
            document.documentElement.addEventListener('click',function () {
                console.log('html处于捕获阶段')
            },true);
            document.body.addEventListener('click',function () {
                console.log('body处于捕获阶段')
            },true);
            oBtn.addEventListener('click',function () {
                console.log('按钮处于捕获阶段');
            },true)
            oBtn.addEventListener('click',function () {
               console.log('按钮处于冒泡阶段');
            },false)
            document.body.addEventListener('click',function () {
                console.log('body处于冒泡阶段')
            },false);
             document.documentElement.addEventListener('click',function () {
                console.log('html处于冒泡阶段')
            },false);
             document.addEventListener('click',function () {
                console.log('document处于冒泡阶段')
            },false);
        </script>
    </body>
    <style>
            *{
                padding: 0;
                margin:0;
            }
            .header{
                width: 100%;
                height: 49px;
                background-color: darkviolet;
            }
            .header a{
                color: #fff;
            }
            .changefu{
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 200px;
                background-color: darkcyan;
                display: none;
            }
            .up{
                float: right;
            }
        </style>
    
    </head>
    <body style="height: 2000px">
        <div class="header">
            <a href="#">换肤</a>
        </div>
        <div class="changefu">
            <div class="content">
                <button>img1</button>
            </div>
            <button class="up">收起</button>
        </div>
    
        <script>
    
            $('.header a').click(function (e) {
                // console.log(e);
    
                //阻止默认事件
                e.preventDefault();//取消事件的默认动作。
                e.stopPropagation()//不再派发事件。终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
    
                $('.changefu').stop().slideDown(2000);
    
            })
    
            $('.up,body').click(function () {
                $('.changefu').stop().slideUp(2000);
            })
    
            $('.content button').click(function (e) {
                e.stopPropagation()
                alert(2222);
            })
    
    
    
    
        </script>
    </body>
    <style>
            .box{
                width: 200px;
                height: 200px;
                background-color: red;
                position: relative;
            }
            .child{
                position: absolute;
                top: 200px;
                width: 100px;
                height: 100px;
                background-color: green;
                display: none;
            }
        </style>
    </head>
    <body>
        <button>按钮</button>
        <div class="box">
            <div class="child"></div>
        </div>
    
        <input type="text" value="123">
    
        <input type="radio" name="sex" value="1"><input type="radio" name="sex" value="0"><select name="" id="">
            <option value="a">抽烟</option>
            <option value="b">喝酒</option>
            <option value="c">烫头</option>
        </select>
        <script>
    
            //两次单击时间间隔是300毫秒
            //先做两次单击 再做双击
            var timer = null;
            $('button').click(function () {
    
                clearTimeout(timer)
                timer = setTimeout(function () {
                    console.log('单击了');
                },300)
    
            })
            $('button').dblclick(function () {
                clearTimeout(timer)
                console.log('双击了');
            })
    
    
            // $('.box').mouseenter(function () {
            //     console.log('盒子进入了');
            //     $(this).children().show();
            // })
            //  $('.box').mouseleave(function () {
            //      console.log('盒子离开了');
            //       $(this).children().hide();
            // })
            //
            //  $('.box').mouseover(function () {
            //     console.log('盒子进入了');
            //     $(this).children().show();
            // })
            //  $('.box').mouseout(function () {
            //      console.log('盒子离开了');
            //       $(this).children().hide();
            // })
    
            $('.box').hover(function () {
                $(this).children().show();
            },function () {
                 $(this).children().hide();
            })
    
            $('.box').mousedown(function () {
                console.log('鼠标摁下了');
            })
    
            $('.box').mouseup(function () {
                console.log('鼠标抬起了');
            })
    
    
            // $('input[type=text]').focus(function () {
            //     console.log('获取焦点了');
            // })
            //
            // $('input[type=text]').blur(function () {
            //     console.log('失去焦点了');
            // })
    
            //自动获取焦点
            // $('input[type=text]')[0].focus();
    
            $('input[type=radio]').change(function () {
                console.log('表单元素改变了');
    
                console.log($(this).val());
            })
    
            $('select').change(function (e) {
    
                console.log($(this).find('option:selected').val());
            //
            //
    
            })
    
            $('input[type=text]').select(function () {
                console.log('被选泽了')
            })
    
    
    
        </script>
    </body>

           3.ajax

    <body>
    <a href=""></a>
    <form action="" method="get">
        <input type="text" name="username" value="">
        <br>
        <input type="password" name="username">
        <br>
        <input type="submit">
    </form>
    
    <script>
    
        $('form').submit(function (e) {
    
    
            var username = $('input[type=text]').val();
            alert(1111);
            //    阻止默认事件
            e.preventDefault();
    
            var data = {
                'title': "该用户已存在"
            }
    
    
            $(`<span>${data.title}</span>`).insertAfter('input[type=text]').css({
                "color": 'red',
                "font-size": 12
            });
    
            //    与后端发生交互
            // $.ajax({
            //     url: `http://127.0.0.1:8080/login?username=${username}`,
            //     type:'get',
            //     success:function (data) {
            //         //{"text":'该用户已存在'}
            //
            //
            //
            //
            //         //DOM操作
            //     }
            //
            // });
    
            $.ajax({
                url: `http://127.0.0.1:8080/login`,
                type: 'post',
                data: {
                    username: 'alex',
                    password: '123'
                },
                success: function (data) {
                    //{"text":'该用户已存在'}
    
    
                    //DOM操作
                }
    
            });
    
    
        });
    </script>

      4.位置信息
              width()
              height()

     <style>
            .box{
                width: 200px;
                height: 400px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
    
        <script>
    
            // console.log($('.box').css('width'));
    
            console.log($('.box').width())
            console.log($('.box').height())
    
            $('.box').width(400);
    
        </script>
    </body>

      5.jquery插件

  • 相关阅读:
    destoon手机端mobileurl函数增加城市分类参数
    jCarousel,jQuery下的滚动切换传送插件
    jQuery plugin : bgStretcher 背景图片切换效果插件
    jquery图片切换插件jquery.cycle.js参数详解
    destoon 后台管理左侧新增菜单项
    destoon 列表页面增加手动选择排序方式
    jQuery 淡入淡出有png图的时候 ie8下有黑色边框
    java中Array和ArrayList区别
    趣味理解ADO.NET对象模型
    两个datatable的比较
  • 原文地址:https://www.cnblogs.com/pythonz/p/10252600.html
Copyright © 2020-2023  润新知