zoukankan      html  css  js  c++  java
  • jQuery基础教程-第8章-001Adding new global functions

    一、

    1.To add a function to the jQuery namespace, we can just assign the new function as
    a property of the jQuery object:

    1 (function($) {
    2     $.sum = function(array) {
    3         // Code goes here
    4     };
    5 })(jQuery);

    Now, in any code that uses this plugin, we can write:

    $.sum();

    2.添加函数的例子

     1 <!DOCTYPE html>
     2 
     3 <html lang="en">
     4   <head>
     5     <meta charset="utf-8">
     6     <title>Developing Plugins</title>
     7 
     8     <link rel="stylesheet" href="08.css" type="text/css" />
     9     <link rel="stylesheet" href="ui-themes/smoothness/jquery-ui-1.10.0.custom.css" type="text/css" />
    10 
    11     <script src="jquery.js"></script>
    12     <script src="jquery-ui-1.10.0.custom.min.js"></script>
    13     <script src="08.js"></script>
    14     <script type="text/javascript">
    15     (function($) {
    16         $.sum = function(array) {
    17             var total = 0;
    18             $.each(array, function(index, value) {
    19                 value = $.trim(value);
    20                 value = parseFloat(value) || 0;
    21                 total += value;
    22             });
    23             return total;
    24         };
    25 
    26         $.average = function(array) {
    27           if ($.isArray(array)) {
    28           return $.sum(array) / array.length;
    29           }
    30           return '';
    31         };
    32     })(jQuery);
    33 
    34     $(document).ready(function() {
    35       var $inventory = $('#inventory tbody');
    36       var quantities = $inventory.find('td:nth-child(2)')
    37         .map(function(index, qty) {
    38         return $(qty).text();
    39         }).get();
    40         var sum = $.sum(quantities);
    41         $('#sum').find('td:nth-child(2)').text(sum);
    42 
    43       var prices = $inventory.find('td:nth-child(3)')
    44         .map(function(index, qty) {
    45         return $(qty).text();
    46         }).get();
    47         var average = $.average(prices);
    48         $('#average').find('td:nth-child(3)').text(average.toFixed(2));
    49       });
    50     </script>
    51   </head>
    52   <body>
    53     <div id="container">
    54       <h1>Inventory</h1>
    55       <table id="inventory">
    56         <thead>
    57           <tr class="one">
    58             <th>Product</th>
    59             <th>Quantity</th>
    60             <th>Price</th>
    61           </tr>
    62         </thead>
    63         <tfoot>
    64           <tr class="two" id="sum">
    65             <td>Total</td>
    66             <td></td>
    67             <td></td>
    68           </tr>
    69           <tr id="average">
    70             <td>Average</td>
    71             <td></td>
    72             <td></td>
    73           </tr>
    74         </tfoot>
    75         <tbody>
    76           <tr>
    77             <td><a href="spam.html" data-tooltip-text="Nutritious and delicious!">Spam</a></td>
    78             <td>4</td>
    79             <td>2.50</td>
    80           </tr>
    81           <tr>
    82             <td><a href="egg.html" data-tooltip-text="Farm fresh or scrambled!">Egg</a></td>
    83             <td>12</td>
    84             <td>4.32</td>
    85           </tr>
    86           <tr>
    87             <td><a href="gourmet-spam.html" data-tooltip-text="Chef Hermann's recipe.">Gourmet Spam</a></td>
    88             <td>14</td>
    89             <td>7.89</td>
    90           </tr>
    91         </tbody>
    92       </table>
    93     </div>
    94   </body>
    95 </html>

    3.Extending the global jQuery object

    We can also employ an alternate syntax in defining our functions using the $.extend() function:

     1 (function($) {
     2     $.extend({
     3         sum: function(array) {
     4             var total = 0;
     5             $.each(array, function(index, value) {
     6                 value = $.trim(value);
     7                 value = parseFloat(value) || 0;
     8                 total += value;
     9             });
    10             return total;
    11         },
    12         average: function(array) {
    13             if ($.isArray(array)) {
    14                 return $.sum(array) / array.length;
    15             }
    16             return '';
    17         }
    18     });
    19 })(jQuery);

    4.Isolating functions within namespaces

     1 (function($) {
     2     $.mathUtils = {
     3         sum: function(array) {
     4             var total = 0;
     5             $.each(array, function(index, value) {
     6                 value = $.trim(value);
     7                 value = parseFloat(value) || 0;
     8                 total += value;
     9             });
    10             return total;
    11         },
    12         average: function(array) {
    13             if ($.isArray(array)) {
    14                 return $.mathUtils.sum(array) / array.length;
    15             }
    16             return '';
    17         }
    18     };
    19 })(jQuery);
    20 
    21 $.mathUtils.sum(sum);
    22 $.mathUtils.average(average);
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    阿里巴巴的零知识证明
    DPOS委托权益证明 vs POW工作量证明
    DPOS共识算法 -- 缺失的白皮书
    信息图:股份授权证明机制(DPOS)
    DPOS——回归中本聪
    深度解析POS和POW的区别
  • 原文地址:https://www.cnblogs.com/shamgod/p/5499707.html
Copyright © 2011-2022 走看看