zoukankan      html  css  js  c++  java
  • jQuery

    jQuery是什么

    <1> jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。

    <2>jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!

    <3>它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器

    <4>jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

    <5>jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

    注:jQuery 是一个 JavaScript 函数库

    jQuery语法

    jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

    基础语法是:$(selector).action()

    • 美元符号定义 jQuery
    • 选择符(selector)“查询”和“查找” HTML 元素
    • jQuery 的 action() 执行对元素的操作

    文档就绪函数:防止文档在完全加载(就绪)之前运行 jQuery 代码.

                
                    $(document).ready(function(){
    
                        --- jQuery functions go here ----
    
                    });
                
            

    jQuery选择器

    • 元素选择器
        jQuery 使用 CSS 选择器来选取 HTML 元素。
      1. $("p") 选取 <p> 元素。
      2. $("p.intro") 选取所有 class="intro" 的 <p> 元素。
      3. $("p#demo") 选取所有 id="demo" 的 <p> 元素。
    • 属性选择器
        jQuery 使用 XPath 表达式来选择带有给定属性的元素。
      1. $("[href]") 选取所有带有 href 属性的元素。
      2. $("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
      3. $("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
      4. $("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。

    jQuery效果

    • 隐藏和显示
                
                    $("#hide").click(function(){
                      $("p").hide();
                    });
    
                    $("#show").click(function(){
                      $("p").show();
                    });
                    $(selector).hide(speed,callback);
                    $(selector).show(speed,callback);
    
                    //可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
                    //可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
    
    
                    $("button").click(function(){
                      $("p").toggle();
                    });
                    //通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。
                    //显示被隐藏的元素,并隐藏已显示的元素:
                
            
    • 淡入淡出
                
                    $(selector).fadeIn(speed,callback); //可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒
                    $(selector).fadeOut(speed,callback);    //淡出
                    $(selector).fadeToggle(speed,callback);  //切换
                    $(selector).fadeTo(speed,opacity,callback); //fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。
                
            
    • 滑动
                
                    $(selector).slideDown(speed,callback); //向下滑动
                    $(selector).slideUp(speed,callback); //向上滑动
                    $(selector).slideToggle(speed,callback); //jQuery slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。
                
            
    • 动画
                
                    $(selector).animate({params},speed,callback); //必需的 params 参数定义形成动画的 CSS 属性。
                    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
                    可选的 callback 参数是动画完成后所执行的函数名称。
    
    
                    //jQuery animate() - 使用相对值
                    $("button").click(function(){
                      $("div").animate({
                        left:'250px',
                        height:'+=150px',
                        '+=150px'
                      });
                    });
    
    
                    //jQuery animate() - 使用预定义的值
                    //可以把属性的动画值设置为 "show"、"hide" 或 "toggle":
                    $("button").click(function(){
                      $("div").animate({
                        height:'toggle'
                      });
                    });
    
    
                    //jQuery animate() - 使用队列功能
                    $("button").click(function(){
                      var div=$("div");
                      div.animate({height:'300px',opacity:'0.4'},"slow");
                      div.animate({'300px',opacity:'0.8'},"slow");
                      div.animate({height:'100px',opacity:'0.4'},"slow");
                      div.animate({'100px',opacity:'0.8'},"slow");
                    });
                
            

    注:默认地,所有 HTML 元素都有一个静态位置,且无法移动。 如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute!

    • 停止动画
                
                    //jQuery stop() 方法
                    $(selector).stop(stopAll,goToEnd);
                    //可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
                    //可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
                    //因此,默认地,stop() 会清除在被选元素上指定的当前动画。
    
    
                    $("#stop").click(function(){
                      $("#panel").stop();
                    });
                
            

    jQuery HTML

    • 内容获取
      1. text() - 设置或返回所选元素的文本内容
      2. html() - 设置或返回所选元素的内容(包括 HTML 标记)
      3. val() - 设置或返回表单字段的值
      4. attr() - 用于设置/改变属性值。
    • 添加元素
      1. append() - 在被选元素的结尾插入内容
      2. prepend() - 在被选元素的开头插入内容
      3. after() - 在被选元素之后插入内容
      4. before() - 在被选元素之前插入内容
    • 删除元素
      1. remove() - 删除被选元素(及其子元素)
      2. empty() - 从被选元素中删除子元素
    • 操作CSS
      1. addClass() - 向被选元素添加一个或多个类
      2. removeClass() - 从被选元素删除一个或多个类
      3. toggleClass() - 对被选元素进行添加/删除类的切换操作
      4. css() - 设置或返回样式属性
    • 设置CSS
                
                    css("propertyname","value"); //设置指定的 CSS 属性
    
                    css({"propertyname":"value","propertyname":"value",...}); //设置多个 CSS 属性
                
            
    • 尺寸方法
      1. width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
      2. height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。
      3. innerWidth() 方法返回元素的宽度(包括内边距)。
      4. innerHeight() 方法返回元素的高度(包括内边距)。
      5. outerWidth() 方法返回元素的宽度(包括内边距和边框)。
      6. outerHeight() 方法返回元素的高度(包括内边距和边框)。

    jQuery 遍历

    遍历 DOM 树
    • parent() 方法返回被选元素的直接父元素。
    • parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)。
    • parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。
    • children() 方法返回被选元素的所有直接子元素。
    • find() 方法返回被选元素的后代元素,一路向下直到最后一个后代。
    • siblings() 方法返回被选元素的所有同胞元素。
    • next() 方法返回被选元素的下一个同胞元素。该方法只返回一个元素。
    • nextAll() 方法返回被选元素的所有跟随的同胞元素。
    • nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
    • prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)。
    • first() 方法返回被选元素的首个元素。
    • last() 方法返回被选元素的最后一个元素。
    • eq() 方法返回被选元素中带有指定索引号的元素。 索引号从 0 开始,因此首个元素的索引号是 0 而不是 1。下面的例子选取第二个

      元素(索引号 1):

    • filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
    • not() 方法返回不匹配标准的所有元素。
    • 注:not() 方法与 filter() 相反。

    实例

    • 左侧菜单
                
    
                    <!DOCTYPE html>
                    <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <title>left_menu</title>
    
                        <style>
                              .menu{
                                  height: 500px;
                                   30%;
                                  background-color: gainsboro;
                                  float: left;
                              }
                              .content{
                                  height: 500px;
                                   70%;
                                  background-color: rebeccapurple;
                                  float: left;
                              }
                             .title{
                                 line-height: 50px;
                                 background-color: #425a66;
                                 color: forestgreen;}
    
    
                             .hide{
                                 display: none;
                             }
    
    
                        </style>
                    </head>
                    <body>
    
                    <div class="outer">
                        <div class="menu">
                            <div class="item">
                                <div class="title">菜单一</div>
                                <div class="con">
                                    <div>111</div>
                                    <div>111</div>
                                    <div>111</div>
                                </div>
                            </div>
                            <div class="item">
                                <div class="title">菜单二</div>
                                <div class="con hide">
                                    <div>111</div>
                                    <div>111</div>
                                    <div>111</div>
                                </div>
                            </div>
                            <div class="item">
                                <div class="title">菜单三</div>
                                <div class="con hide">
                                    <div>111</div>
                                    <div>111</div>
                                    <div>111</div>
                                </div>
                            </div>
    
                        </div>
                        <div class="content"></div>
    
                    </div>
                    <script src="jquery-3.2.1.js"></script>
                    <script>
                               $(".item .title").click(function () {
                                    $(this).next().removeClass("hide").parent().siblings().children(".con").addClass("hide");
    
                    //                $(this).next().removeClass("hide");
                    //                $(this).parent().siblings().children(".con").addClass("hide");
                               })
                    </script>
    
    
                    </body>
                    </html>
                
            
    • tab切换
                
                    <!DOCTYPE html>
                    <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <title>tab</title>
                        <script>
                               function tab(self){
                                   var index=$(self).attr("xxx");
                                   $("#"+index).removeClass("hide").siblings().addClass("hide");
                                   $(self).addClass("current").siblings().removeClass("current");
    
                               }
                        </script>
                        <style>
                            *{
                                margin: 0px;
                                padding: 0px;
                            }
                            .tab_outer{
                                margin: 0px auto;
                                 60%;
                            }
                            .menu{
                                background-color: #cccccc;
                                /*border: 1px solid red;*/
                                line-height: 40px;
                            }
                            .menu li{
                                display: inline-block;
                            }
                            .menu a{
                                border-right: 1px solid red;
                                padding: 11px;
                            }
                            .content{
                                background-color: tan;
                                border: 1px solid green;
                                height: 300px;
                            }
                            .hide{
                                display: none;
                            }
    
                            .current{
                                background-color: darkgray;
                                color: yellow;
                                border-top: solid 2px rebeccapurple;
                            }
                        </style>
                    </head>
                    <body>
                          <div class="tab_outer">
                              <ul class="menu">
                                  <li xxx="c1" class="current" onclick="tab(this);">菜单一</li>
                                  <li xxx="c2" onclick="tab(this);">菜单二</li>
                                  <li xxx="c3" onclick="tab(this);">菜单三</li>
                              </ul>
                              <div class="content">
                                  <div id="c1">内容一</div>
                                  <div id="c2" class="hide">内容二</div>
                                  <div id="c3" class="hide">内容三</div>
                              </div>
    
                          </div>
                    </body>
                    </html>
                
            
    • 复制样式条
                
                    <!DOCTYPE html>
                    <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <title>Title</title>
    
                    </head>
                    <body>
                                <div class="outer">
                                    <div class="item">
                                            <input type="button" value="+" onclick="add(this);">
                                            <input type="text">
                                    </div>
                                </div>
    
                    <script src="jquery-1.11.3.min.js"></script>
                        <script>
                                //var $clone_obj=$(self).parent().clone();  // $clone_obj放在这个位置可以吗?
                                function add(self){
                                    // 注意:if var $clone_obj=$(".outer .item").clone();会一遍二,二变四的增加
                                     var $clone_obj=$(self).parent().clone();
                                     $clone_obj.children(":button").val("-").attr("onclick","removed(this)");
                                     $(self).parent().parent().append($clone_obj);
                                }
                               function removed(self){
    
                                   $(self).parent().remove()
    
                               }
    
                        </script>
                    </body>
                    </html>
                
            
  • 相关阅读:
    python 多个变量赋值
    python标准数据类型
    Python 变量类型
    H3C 扩展ACL与基于时间的ACL
    H3C BGP-filter-policy
    H3C 标准ACL
    H3C BGP实验集合
    H3C IS-IS实验大集合(ipv6)
    H3C ISIS实验大集合(IPv4)
    JS 封装一个显示时间的函数
  • 原文地址:https://www.cnblogs.com/caozhenghua/p/11871715.html
Copyright © 2011-2022 走看看