jQuery

jQuery 主要分成三个大的版本:1,2,3
        1:兼容所有浏览器的版本
        2:IE8 - 浏览器舍弃了;更轻更好的jQuery版本
        3:重构了部分功能,极大的提升了jQuery的性能
 
jQuery之所以流行是因为作者非常顾及开发人员对工具使用的成本;写的更少,做的更多。
 
加载jQuery ; 
             1. 本地加载:
                         production 压缩版本,字符量尽可能少,加载速度尽可能快
                         development 开发版本,尽可能清晰的展示代码,带有注释可以二次开发
             2. CDN加载:
                         CDN 付费服务器
                         CDN 免费服务器 bootcdn; https://www.bootcdn.cn/
 
编写jQuery代码:
  提供了一个API   jQuery
         1. 构造函数里面的方法:都是工具类的,纯函数 
            function Foo(){} Foo.a = function(){}
            2. 原型对象里面的方法:给实例对象用的,jQuery的实例对象就是jQuery要操作的DOM的容器
            Foo.prototype.b = function(){}

          3. 使用jQuery选择一个元素:
          jQuery("任意css3选择器");
 
    4. var res = jQuery("body")
             console.log(res);
 
jQuery的使用:
  ready 是jquery的一个自创事件,会在页面之中文档加载结束之后触发
        jQuery(document).ready(function(){
            console.log("hello world 页面文档加载结束");
        });
        write less do more;
        jQuery 提供了非常多的简写方案;
          1. 命名简写: $ 
            因为 $ 命名有非常多的库在使用,我们不能为所欲为的使用 $
          2. 重新命名jQuery
        var $$ = jQuery;
        $$(document).ready(function(){
            console.log("hello world 页面文档加载结束");
        });
          3. 把jQuery放进函数之中
        (function($){
            $(document).ready(function(){
                console.log("hello world 页面文档加载结束");
            });
        })(jQuery);
        最终版本的简写:
  $(function(){
            console.log("hello world 页面文档加载结束");
        })

 

css 方法  给jQuery实例里面的dom对象添加行内样式
        $box.css({
            width  : "100px",
            height : 100,
            marginLeft : "+=200",
            backgroundColor : "yellowgreen"
        })
        $box.css({
            marginLeft : "+=100"
        })
 
jQuery的实例操作DOM对象时,绝大多数默认了是批量操作;在批量操作的绝大多数方法之中都给我们提供了回调函数,我们可以根据文档之中函数的参数配置实现 功能自定义的
         var $boxs = $(".box");
         // jQuery实例对象里面的所有方法都是对DOM对象的批量操作;
         $boxs.css({
            width  : function( index , value ){
                return (index + 1) * 100
            },
            height : 100,
            margin : 5,
            backgroundColor : function( index , value ){
                return value.replace(/\d/g, (index + 1) * 20);
            }
        })
        console.log($boxs);

 

因为jQueryDOM操作都是批量的,所以我们可以使用群组选择器批量选择元素,进行统一操作
        $("#box,.box,.list *").css({
            width  : function( index , value ){
                return (index + 1) * 100
            },
            height : 100,
            margin : 5,
            backgroundColor : function( index , value ){
                return value.replace(/\d/g, (index + 1) * 20);
            }
        });

 

jQuery关系选择库:如直接子集选择器  selector>children :

$(".box>div").css({
    background : "#fff"
})

 

$(".son").parent()   返回值就是son的父级元素,如果不加上一个限制条件的话会一直向外寻找父级,直到html

        $(".son").parent().css({
            background : "skyblue"
        })

        // $(".son").parents(".box").css({
        //     borderWidth : 10
        // })

        // parentsUtil
        $(".son").parentsUntil(".box").css({
            borderWidth : 10
        })
 
过滤器的写法 => 选择器:过滤条件
 
jQuery动画:
        $(".box").mouseover(function(){
            $(this)
            .stop(true)
            .animate({
                width : 1380
            })
            .siblings(".box")
            .stop(true)
            .animate({
                width : 0
            })
            .end()
            .children(".content")
            .css({
                left : 0
            })
        })

        $(".box").mouseout(function(){
            $(".box")
            .stop(true)
            .animate({
                width : 345
            })
            .queue(function(){
                $(this)
                .children(".content")
                .css({
                    left : 345
                })
            })
        })

 

jQuery

上一篇:Kettle如何设置循环遍历取数,如何解析JSON,如何传递JSON


下一篇:JS 异步