zoukankan      html  css  js  c++  java
  • fundamentals of the jQuery library

    1、why is jquery
    • Only 32kB minified and gzipped. Can also be included as an AMD module
    • Supports CSS3 selectors to find elements as well as in style property manipulation
    • IE, Firefox, Safari, Opera, Chrome, and more

    2、Downloading jQuery using Bower
    jQuery is registered as a package with Bower. You can install the latest version of jQuery with the command:
    bower install jquery

    This will install jQuery to Bower's install directory, the default being bower_components. Within bower_components/jquery/dist/ you will find an uncompressed release, a compressed release, and a map file.
    if you wish to install just the compressed jQuery 2.1.0, you can install just that file with the following command:
    bower install http://code.jquery.com/jquery-2.1.4.min.js

    3、Using jQuery with a CDN
    CDNs can offer a performance benefit by hosting jQuery on servers spread across the globe. This also offers an advantage that if the visitor to your webpage has already downloaded a copy of jQuery from the same CDN, it won't have to be re-downloaded.
    
    
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    To see all available files and versions, visit http://code.jquery.com

    4、References
     
    5、plugins with AMD
    /*==============jquery插件queue.js,符合AMD规范============*/
    
    define( [
        "./core",
        "./data/var/dataPriv",
        "./deferred",
        "./callbacks"
    ], function( jQuery, dataPriv ) {
    
    jQuery.extend( {
        queue: function( elem, type, data ) {
            //...
        },
    
        dequeue: function( elem, type ) {
            //...
        },
    
        // Not public - generate a queueHooks object, or return the current one
        _queueHooks: function( elem, type ) {
            //...
        }
    } );
    
    jQuery.fn.extend( {
        queue: function( type, data ) {
            //...
        },
        dequeue: function( type ) {
            return this.each( function() {
                jQuery.dequeue( this, type );
            } );
        },
        clearQueue: function( type ) {
            return this.queue( type || "fx", [] );
        },
    
        // Get a promise resolved when queues of a certain type
        // are emptied (fx is the type by default)
        promise: function( type, obj ) {
            //...
        }
    } );
    
    return jQuery;
    } );
    
    
    
    /*=============core.js==================*/
    define( [
        "./var/arr",
        "./var/document",
        "./var/slice",
        "./var/concat",
        "./var/push",
        "./var/indexOf",
        "./var/class2type",
        "./var/toString",
        "./var/hasOwn",
        "./var/support",
        "./core/DOMEval"
    ], function( arr, document, slice, concat,
        push, indexOf, class2type, toString, hasOwn, support, DOMEval ) {
    
    var
        version = "@VERSION",
    
        // Define a local copy of jQuery
        jQuery = function( selector, context ) {
    
            // The jQuery object is actually just the init constructor 'enhanced'
            // Need init if jQuery is called (just allow error to be thrown if not included)
            return new jQuery.fn.init( selector, context );
        },
    
        // Support: Android<4.1
        // Make sure we trim BOM and NBSP
        rtrim = /^[suFEFFxA0]+|[suFEFFxA0]+$/g,
    
        // Matches dashed string for camelizing
        rmsPrefix = /^-ms-/,
        rdashAlpha = /-([a-z])/g,
    
        // Used by jQuery.camelCase as callback to replace()
        fcamelCase = function( all, letter ) {
            return letter.toUpperCase();
        };
    
    jQuery.fn = jQuery.prototype = {
    
        // The current version of jQuery being used
        jquery: version,
    
        constructor: jQuery,
    
        // The default length of a jQuery object is 0
        length: 0,
        // Execute a callback for every element in the matched set.
        each: function( callback ) {
            return jQuery.each( this, callback );
        },
    
        map: function( callback ) {
            return this.pushStack( jQuery.map( this, function( elem, i ) {
                return callback.call( elem, i, elem );
            } ) );
        }
    };
    
    jQuery.extend = jQuery.fn.extend = function() {
        //...
    };
    
    jQuery.extend( {
    
        // Unique for each copy of jQuery on the page
        expando: "jQuery" + ( version + Math.random() ).replace( /D/g, "" ),
    
        // Assume jQuery is ready without the ready module
        isReady: true,
    
        error: function( msg ) {
            throw new Error( msg );
        }
    } );
    
    return jQuery;
    } );
  • 相关阅读:
    Oracle 安装及其遇到的问题
    集合与Iterator
    Java 基本数据类型长度
    TextFile 类的创写
    Base64编码通过URL传值的问题
    HttpUrlConnection访问Servlet进行数据传输
    Servlet 的认识
    高聚合低耦合
    Exception loading sessions from persistent storage 这个问题的解决
    ARTS打卡计划第六周
  • 原文地址:https://www.cnblogs.com/chenlogin/p/5100393.html
Copyright © 2011-2022 走看看