zoukankan      html  css  js  c++  java
  • java:JQuery(声明,JQ和JS对象的区别,prop,attr,addClass,offset,trigger,dblclick和change事件,hide,show,toggle,slideUp,slideDown,slideToggle,三种选择器,标签的获取,三张图片的放大与缩小)

    1.JQuery:

        jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计 的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

    2..JQuery的声明:

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <!-- jQuery的文件引入,一定要在jQuery代码之前 -->
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script type="text/javascript">
                // 第一种声明jQuery的方式
                /*$(function(){// jQuery只要定义,就在页面加载完毕后自动触发
    
                });*/
    
                // 第二种声明jQuery的方式
                /*$(document).ready(function(){
                    alert("我是jQuery");
                });*/
    
    
                // 在html中,使用类样式  .
                // 使用id样式 #
                // 标签样式 直接标签名
                // 在jQuery中,同样遵循这个原则
                $(function(){// 一旦不写定义jQuery,就无法编写jQuery代码
                    // 既可以写jQuery代码也可以写js代码
                    // 但是jQuery代码坚决不能写在$(function(){})的外面
                    var x = document.getElementById("div1");
                    // 使用jQuery通过id选择器选中div标签
                    var div1 = $("#div1");// 得到Object对象,这个对象称之为jQuery对象
                    alert(div1);
                    alert(x);
    
    
                    var div2 = $("div");
                    alert(div2);
    
                    var div3 = $(".div2");
                    alert(div3);
    
                });
    
        
    
            </script>
            
        </head>
        
            <body>
                <div class="div2" id="div1" style="100px; height:100px; background: red;"></div>
                <div class="div2" id="div2" style="100px; height:100px; background: red;"></div>
                <div class="div2" id="div3" style="100px; height:100px; background: red;"></div>
            </body>
    </html>

    3.JS和JQ对象的区别,prop,attr,addClass,offset

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <style type="text/css">
                .test {
                    background: red;
                    color:red;
                }
                .test2{
                    color:green;
                }
            </style>
            <!-- jQuery的文件引入,一定要在jQuery代码之前 -->
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script type="text/javascript">
                // JS中获取的对象永远是一个DOM对象,俗称js对象
                // 但是jQuery获取的是一个jQuery的对象,Object对象
                // attr和prop很重要
                $(document).ready(function(){
                    var x = $("h1");
                    
                    var x = $("h1");// 获取到所有的h1标签,返回的Object对象,并不是数组
                    $("h1").each(function(index){
                        alert(index);// 就是选中标签下标
                        alert($(this).text());// 循环中的每一个h1标签对象
                    });
                    alert(x.length);
                    for(var i = 0; i < x.length; i++) {
                        var y = x.get(i);// heading对象(拿到每一个h1标签对象,一个整体------>转换为Document对象,会成为一个js对象)
                        alert(y.innerHTML);
                        alert(x.index());// 永远是0?
                    }
    
                    alert($("h1").index($("#hh2")));// index返回的是一个整数类型,返回的是某个元素的下标
    
                     attr
                    alert($("#ins").prop("name"));// attr在1.6之前很常用,虽然这个函数没有被废弃,但是在1.6版本以后就被prop所代替了
                     attr和prop不但可以获取值,也可以赋值
                    alert($("input").attr("id","12"));
                    alert($("#12"));
    
                    $("input").removeAttr("id");// 引出attr
    
                     addClass:添加样式,类样式
                    $("span").addClass("test");
                    $("span").removeClass("test");// 移除样式
                    $("span").addClass("test2");
    
                    alert($("#hh2").css("color"));// css函数获取某个标签的样式的值
    
                    alert($("#hh2").offset().left);// 偏移量,说白了坐标
    
                });
    
            </script>
            
        </head>
        
            <body>
                <input type="button" name="我是" value="测试" />
                <h1 id="hh" name="hh1">h11</h1>
                <h1 id="hh2" style="color:red;">h12</h1>
                <h1>h13</h1>
                <h1>h14</h1>
    
    
                <span>您的用户名格式错误</span>
                <span>您的密码格式错误</span>
            </body>
    </html>

    4.绑定事件,trigger

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <style type="text/css">
                .test {
                    background: red;
                    color:red;
                }
                .test2{
                    color:green;
                }
            </style>
            <!-- jQuery的文件引入,一定要在jQuery代码之前 -->
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    // 相当于给input框绑定上onclick事件
                    // 第一种写法
                    /*$("input").click(function(){
                        alert(1111);
                    });*/
                    // 第二种写法
                    $("ul").on("click","li",function(){// 使用on的时候(如果有选择器的话),必须要存在上下级的关系
                        // 选中ul给ul绑定点击事件,这个事件作用于li标签--->直接把事件绑定到了li身上
                        console.log($(this).text());
                    });
    
    
    
                    $("#ins1").click(function(){
                        alert(22222);
                    });
    
                    // 会和你伴随一生
                    $("#ins1").trigger("click");// 自动触发事件,首先找到id为ins1的input对象,然后触发这个绑定click
    
                    
    
    
    
                });
    
            </script>
            
        </head>
        
            <body>
                <input id="ins1" type="button" value="测试" />
                <input type="button" value="测试" />
                <span id="span1">我是span</span>
                
                <ul>
                    <li>我是li</li>
                    <li>我是li2</li>
                </ul>
            </body>
    </html>

    5.dblclick,change事件

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <style type="text/css">
                .test {
                    background: red;
                    color:red;
                }
                .test2{
                    color:green;
                }
            </style>
            <!-- jQuery的文件引入,一定要在jQuery代码之前 -->
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script type="text/javascript">
    
                $(function(){
                    // 所有的jQuery代码都要写在这里
                    //在js中所有的事件都需要有一个on前缀
                    //但是在jQuery中,不需要这个on前缀
                    $("input").dblclick(function(){// 双击
                        alert("我是dblclick");//double click
                    });
                    // 在js中有onsubmit事件---->submit
    
                    // 当发生改变的时候会调用的函数change
                    $("#ins1").change(function(){
                        alert("我是change");
                    });
    
                });
    
    
            </script>
            
        </head>
        
            <body>
                <input type="button" value="测试" /><br />
                用户名<input type="text" id="ins1" />
            </body>
    </html>

    6.显示隐藏页面效果,hide,show,toggle;slideUp,slideDown,slideToggle

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <style type="text/css">
                .test {
                    background: red;
                    color:red;
                }
                .test2{
                    color:green;
                }
            </style>
            <!-- jQuery的文件引入,一定要在jQuery代码之前 -->
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script type="text/javascript">
    
                $(function(){
                    // 所有的jQuery代码都要写在这里
                    // 在js中有隐藏和显示,在jQuery中自带隐藏函数
                    // 里面的参数:隐藏或显示需要的毫秒数,如果不填默认为0
                    $("#hide").click(function(){
                        $("div").hide(1000);// 把一个元素隐藏
                    });
                    $("#show").click(function(){
                        $("div").show(1000);// 把一个元素显示
                    });
                    $("#show_or_hide").click(function(){
                        $("div").toggle(1000);// 自动显示隐藏
                    });
                    $("#slide_up").click(function(){
                        $("div").slideUp();
                    });
                    $("#slide_down").click(function(){
                        $("div").slideDown();
                    });
    
                    $("#slide_toggle").click(function(){
                        $("div").slideToggle();
                    });
    
                });
    
    
            </script>
            
        </head>
        
            <body>
                <div style="height: 200px;  200px; background: red;"></div>
                <input id="hide" type="button" value="隐藏" />
                <input id="show" type="button" value="显示" />
                <input id="show_or_hide" type="button" value="显示/隐藏" />
                <input id="slide_up" type="button" value="隐藏" />
                <input id="slide_down" type="button" value="显示" />
                <input id="slide_toggle" type="button" value="显示/隐藏" />
            </body>
    </html>

    7.id选择器,标签选择器,类选择器

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script>
                // id选择器,标签选择器,类选择器
                // 复杂的选择器:
                $(function(){
                    var test = $("form>input").val();//"form>input"获取form表单下的第一个直接子元素
                    alert(test);
                    alert($("label+input").val());// label+input:加号代表是相邻的兄弟元素
                    var ins = $("label~input");// label~input:~代表所有的兄弟元素
                    for(var i =0;i < ins.length; i++){
                        alert(ins.get(i).value);
                    }
                    alert($("li:first").text());//:first 选择出第一个元素
    
                    alert($("input:not(#test2)").val());// :not 排除某个元素(可以使用选择器进行选择)
    
                    $("tr:even").css("background-color","red");// :even 选中所有下标为偶数的元素,实际上选中的为奇数行
                    $("tr:odd").css("background-color","yellow");// :odd 选中所有下标为奇数的元素,实际上是选中的偶数行
    
                     eq:eqauls相等
                     gt:great than 大于
                     lt:less than 小于
                    $("tr:lt(0)").css("background-color","black");// 最小要大于0
    
                    $("tr:last").css("background-color","blue");// 选中最后一个元素
    
                    $("td:empty").css("background-color", "pink");// 选择文本为空的元素
    
                    $("td:contains(22)").css("background-color", "grey");// 选中所有文本带22的元素
    
                    $("tr:has(td)").css("background-color", "purple");// 选中包含某个元素的所有元素(选中所有包含td的tr元素)
    
                    $("td:parent").css("background-color","red");// 选中某个标签的直接父级标签
    
                    alert($("tr:hidden").text());// 选中隐藏的元素
    
                    alert($("tr:visible").text());// 选中所有可见的元素
    
                    $("input[name='test2']").prop("checked", true);// 选中所有name为test2的input标签
    
                    alert($("tr td:first-child").text());// 选中第一个子元素
                    alert($("tr td:last-child").text());// 选中最后一个子元素
    
    
                });
            </script>
            
        </head>
        
            
            <body>
                    <form>
                    <input type="" value="ins1" name="ins1" />
                    <input type="" value="ins2" name="ins2" />
                    <select>
                        <option>我是select</option>
                        <input type="" value="ins3" name="ins3" />
                    </select>
                </form> 
    
    
                    <form>
                     <label>Name:</label>
                     <input name="name" value="1" />
                      <fieldset>
                          <label>Newsletter:</label>
                          <input name="newsletter" value="2" />
                     </fieldset>
                     <input name="none" value="3" />
                </form> 
    
                 <ul>
                    <li>1</li>
                    <li>2</li>
                    <li>3</li>
                    <li>4</li>
                </ul> 
    
                 <form>
                    <input id="test2" type="" name="ins1" value="1">
                    <input class="test1" type="" name="ins2" value="2">
                </form> 
                <table border="1">
                    <tbody>
                        <tr>
                            <td>1</td>
                            <td>2</td>
                        </tr>
                        <tr style="display: none;">
                            <td>11</td>
                            <td>22</td>
                        </tr>
                        <tr>
                            <td>111</td>
                            <td>222</td>
                        </tr>
                    </tbody>
                </table>
    
                 <form>
                    <input type="checkbox" name="test1" /><input type="checkbox" name="test1" /><input type="checkbox" name="test1" />保密
                    <input type="checkbox" name="test1" />未知
                    <input type="checkbox" name="test2" />呵呵
                </form> 
                    
    
    
    
            </body>
        
    
    </html>

    8.表单内标签的获取

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script>
            
                $(function(){
                    // 在jQuery中,只要是表单中的标签,所有都为input
                    $(":input").val();// :input 获取所有的input,包括button,select,textarea,input
                    $(":text").val();// :text 选中所有type="text"的input
                    $(":enabled").val();// DIY选择出自然顺序一个能够输入的input框
                    
                });
            </script>
            
        </head>
        
            
            <body>
                <h1>登录功能</h1>
                <form>
                    用户名:<input type="text" name="uname" disabled="disabled" /><br />
                    密码:<input type="password" name="uname" /> <br />
                        <input type="submit" value="提交" />
    
                </form>
            </body>
        
    
    </html>

     9.三张图片的放大与缩小:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8" content="text/html">
            <title></title>
            <style type="text/css">
                .img_class {
                    width: 400px;
                    height: 400px;
                }
            </style>
            <script src="jquery-3.2.1.min.js" type="text/javascript"></script>
            <script type="text/javascript">
            $(function(){
                // 第一步:给图片绑定点击事件
                // 第二步:获取到图片的src值,并且赋值给需要方法的img标签
                // 第三步:把隐藏div需要显示出来
                // 第四步:点击关闭按钮的时候,重新隐藏div
                $(".img_class").click(function(){
                    var srcValue = $(this).attr("src");
                    $("#show_img").attr("src", srcValue);
                    var setValue = $("#tbl").offset();// 获取偏移量,说白了也就是坐标(只有left和top)
                    $("#show_div").attr({"left":setValue.left, "top":setValue.top});
                    $("#show_div").show(1000);
                });
    
                $("#close_img").click(function(){
                    $("#show_div").hide(1000);
                });
            });
            
            </script>
        </head>
        <body>
            <div id="show_div" style="position: absolute; display: none;">
                <input id="close_img" type="button" name="" value="关闭"><br />
                <img id="show_img" style=" 800px;height: 700px;" src="">
            </div>
            <table id="tbl">
                <tr>
                    <td><img class="img_class" src="img/1.jpg"></td>
                    <td><img class="img_class" src="img/2.jpg"></td>
                    <td><img class="img_class" src="img/3.jpg"></td>
                </tr>
            </table>
        </body>
    </html>

    10.Other:

    <!DOCTYPE>
    <html>
        <head>
            <meta charset="UTF-8"></meta>
            <title></title>
            <style type="text/css">/* 就近原则 */
                .odd {/* 偶数行样式 */
                    background-color: red;
                }
                .even {/* 奇数行 */
                    background-color: blue;
                }
                .selected {
                    background-color: black;
                    color:white;
                }
                .cars {
                    display: none;
                }
            </style>
            <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
            <script>
                $(function(){
                    // 隔行变色:odd
                    // :odd 偶数行和:even 奇数行
        /*            $("tr:odd").css("background-color", "red");
                    $("tr:even").css("background-color","blue");*/
                    // 需求:高亮显示
                    $("tbody tr:contains('信阳')").addClass("selected");
                    // 需求:标题不能改变颜色
                    $("tbody tr:odd").addClass("odd");// 添加的是一个行内样式
                    $("tbody tr:even").addClass("even");
    
                    $("#show_hide").click(function(){
                        $(".cars").toggle();
                    });
    
                    
                });
                
    
            </script>
            
        </head>
        
            
            <body>
                <table border="1">
                    
                    <tbody>
                        <tr id="show_hide">
                            <td><b>汽车</b></td>
                            
                        </tr>
                        <tr class="cars">
                            <td>G151</td>
                            
                        </tr>
                        <tr class="cars">
                            <td>G152</td>
                            
                        </tr>
                        <tr class="cars">
                            <td>G153</td>
                            
                        </tr>
                    </tbody>
                </table>
            </body>
    </html>
  • 相关阅读:
    我对“错排问题”的理解
    洛谷P1144 最短路计数 题解 无权图的最短路计数(广搜)
    洛谷P1714 切蛋糕 题解 单调队列
    洛谷P6040 「ACOI2020」课后期末考试滑溜滑溜补习班 题解 单调队列优化DP
    POJ2559 Largest Rectangle in a Histogram 题解 单调队列/单调栈 (直方图的最大矩形面积)
    洛谷P2947 向右看齐Look Up 题解 单调栈/单调队列
    洛谷P1725 琪露诺 题解 单调队列优化DP入门题
    洛谷P1886 滑动窗口 题解 单调队列
    洛谷P2952 牛线Cow Line 题解 双端队列deque的使用
    多线程交互,访问数据,如果访问到了就不访问了,怎么 避免重读?
  • 原文地址:https://www.cnblogs.com/kuangzhisen/p/7158915.html
Copyright © 2011-2022 走看看