zoukankan      html  css  js  c++  java
  • jquery基础知识3

    1.jquery的位置信息

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .father{
                 400px;
                height: 400px;
                background-color: yellow;
                position: relative;
                top: 20px;
            }
            .box{
                 200px;
                height: 200px;
                padding: 10px;
                border:1px solid yellow;
                background-color: red;
    
                top: 10px;
                left: 100px;
            }
        </style>
    </head>
    <body>
        <div class="father">
            <div class="box"></div>
        </div>
        <ul>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11</li>
            <li>11d</li>
        </ul>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                //1.获取内容的宽和高
                // console.log($(".box").width());
                // console.log($(".box").height());
    
                //当2秒之后 让div的盒子的宽度变成400
                // delay() 必须要结合动画的方法
               // $(".box").delay(2000).hide(3000);
               //  setTimeout(function () {
               //      $(".box").width(400);
               //  },2000)
    
                //2.innerWidth() innerHeight()内部的宽和高 包含宽和高+paddding不包含boeder
                // $(".box").innerWidth(400);
    
                //3.outerWidth() outerHeight() 外部的宽和高 包含所有
                // console.log($(".box").outerHeight());
    
                // console.log($(".box").offset().top);
    
                //监听滚动事件
                $(document).scroll(function () {
                    // console.log(11111);
    
                    console.log($(this).scrollTop());
                });
    
    
            })
        </script>
    </body>
    </html>
    View Code

    2.回到顶部

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .fixTop{
                position: fixed;
                bottom: 20px;
                right: 30px;
                 100px;
                height: 100px;
                line-height: 100px;
                text-align: center;
                color: #fff;
                background-color: #000;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
        </ul>
        <div class="fixTop">回到顶部</div>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                $(".fixTop").click(function () {
                    $("html,body").animate({
                        "scrollTop":0
                    },1000)
                })
    
            })
        </script>
    </body>
    </html>
    View Code

    3.事件流

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <button id="btn">按钮</button>
        <script>
           // document.getElementById("btn").addEventListener("click",function () {
           //     alert(1);
           // },false);
    
            window.onload=(function (){
                var oBtn = document.getElementById('btn');
    
                //1.
                document.addEventListener('click',function(){
                    console.log('document处于事件捕获阶段');
                }, true);
    
                //2.
                document.documentElement.addEventListener('click',function(){
                    console.log('html处于事件捕获阶段');
                }, true);
                //3
                 document.body.addEventListener('click',function(){
                    console.log('body处于事件捕获阶段');
                }, true);
                 //4.
                oBtn.addEventListener('click',function(){
                    console.log('btn处于事件捕获阶段');
                }, true);
                //
                oBtn.addEventListener('click',function(){
                    console.log('btn处于事件冒泡阶段');
                }, false);
                //5
                 document.body.addEventListener('click',function(){
                    console.log('body处于事件冒泡阶段');
                }, false);
                 //6
                  document.documentElement.addEventListener('click',function(){
                    console.log('html处于事件冒泡阶段');
                }, false);
               //7.
                document.addEventListener('click',function(){
                    console.log('document处于事件冒泡阶段');
                }, false);
            })
    
        </script>
    </body>
    </html>
    View Code

    4.事件冒泡的问题

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .father{
                 300px;
                height: 300px;
                background-color: red;
    
            }
        </style>
    </head>
    <body>
        <div class="father">
            <button class="child">按钮</button>
        </div>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                //默认传过来一个event
                $(".child").click(function (event) {
                    console.log("按钮被点击了");
                    console.log(this);
                    // console.log(event);
                    console.log(event.target);
                    //阻止事件冒泡
                    event.stopPropagation();
                })
                $(".father").click(function (event) {
                    console.log("父盒子被点击了");
                    console.log(this)
                    //event.target 如果没有事件冒泡,指的是点击的目标对象
                    console.log(event.target)
                    console.log(event.currentTarget)
                })
    
    
    
            })
        </script>
    
    </body>
    </html>
    View Code

    5.换肤

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           *{
                padding: 0;
                margin: 0;
            }
            .fu{
                position: fixed;
                top:0;
                left: 0;
                 100%;
                height: 320px;
                background-color: red;
                display: none;
            }
            .up{
                cursor: pointer;
            }
        </style>
    </head>
    <body style="height: 2000px">
        <a href='http://www.baidu.com' id="changeFu">换肤</a>
        <div class="fu">
            <ul>
                <li>
                    <a href="javascript:void(0)">女神降临</a>
                </li>
                <li>
                    <a href="javascript:void(0)">明星</a>
                </li>
    
    
                <span class="up">收起</span>
    
            </ul>
        </div>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                $("#changeFu").click(function (event) {
                    // //阻止当前默认事件
                    // event.preventDefault();
                    // //阻止冒泡
                    // event.stopPropagation();
                    console.log(111);
                    $(".fu").slideDown(1000);
                    //想当于既阻止了默认事件又阻止冒泡
                    return false;
                })
                $("body,.up").click(function (event) {
                    $(".fu").slideUp(1000);
                })
                $(".fu ul li a").click(function (event) {
                    event.stopPropagation();
                    $(this).css("color","green").parent("li").siblings("li").find("a").css("color","blue");
                })
                $(".fu").click(function (event) {
                    return false;
                })
            })
        </script>
    </body>
    </html>
    View Code

    6.事件代理

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <ul>
            <li class="item1">
                <a href="javascript:void(0);" id="a">zhang</a>
    
            </li>
        </ul>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                //绑定事件 如果使用事件委托的方式  以后的页面不会出现问题
                //第二个参数  表示的是后代的选择器
                //事件委托(代理)如果未来添加元素了 优先考虑事件委托
    
                $("ul").on("click","#a",function () {
                    alert(this.innerText)
                })
    
                $("ul").append('<li><a href="javascript:void(0);" id="a">qing</a></li>')
            })
        </script>
    
    
    
    </body>
    </html>
    View Code

    7.合击事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <button>按钮</button>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                // $("button").mouseenter(function (event) {
                //
                // })
                // $("button").mouseleave(function (event) {
                //
                // })
    
                $("button").hover(function () {
                    console.log("进入")
                },function () {
                    console.log("离开")
                })
    
    
            })
        </script>
    
    
    </body>
    </html>
    View Code

    8.单双击事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <button>按钮</button>
        <script src="jquery.js"></script>
        <script>
            $(function () {
                //单双击的时间间隔是300ms
                var tim = null;
                var count = 0;
                $("button").click(function (event) {
                    count++;
                    clearTimeout(tim);
                    var tim = setTimeout(function () {
                        if (count == 1){
                            console.log("单机");
                        }
                        count = 0;
                    },300);
    
                });
                $("button").dblclick(function (event) {
                    console.log("双击")
                });
            })
        </script>
    
    
    </body>
    </html>
    View Code

    9.聚焦和失焦

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="text">
        <script src="jquery.js"> </script>
        <script>
            //加载页面的时候 获取到焦点
            // $("input[type=text]").focus();
            //获取焦点时
            // $("input[type=text]").focus(function () {
            //     console.log(1);
            // });
            //获取到焦点并敲键盘时
            // $("input[type=text]").keydown(function (event) {
            //     console.log(1);
            //     console.log(event.keyCode);//键盘码
            // })
            //改变时
            // $('input[type=text]').change(function () {
            //     console.log(111);
            // })
            //选中内容的时候
             $('input[type=text]').select(function () {
                 console.log(1111);
             })
    
        </script>
    </body>
    </html>
    View Code

    10.表单控件事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <!--form表单交互 接收不到 后端返回回来的数据-->
        <div>
            <input type="text" name="user">
            <input type="submit">
        </div>
        <script src="jquery.js"></script>
        <script>
            $('input[type=submit]').click(function (event) {
                var userName = $("input[type=text]").val();
                //发送ajax交互
    
            });
            //要是表单就取消自己的默认事件
            $('form').submit(function(event) {
                event.preventDefault();
            })
        </script>
    </body>
    </html>
    View Code
  • 相关阅读:
    PHP通用函数
    Discuz 取各排行榜数据
    htaccess 增加静态文件缓存和压缩
    一个域名解析不同访问方法
    TP5:隐藏inde.php文件
    vscode:解决操作git总让输入用户名及密码问题
    vscode:配置git
    cmd:相关命令和笔记
    PHP:通过MVC,实现第三方登录(百度)
    Linux:301重定向 —— 将不带www的重定向到带www的
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9755761.html
Copyright © 2011-2022 走看看