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);
  • 相关阅读:
    poj 3666 Making the Grade
    poj 3186 Treats for the Cows (区间dp)
    hdu 1074 Doing Homework(状压)
    CodeForces 489C Given Length and Sum of Digits...
    CodeForces 163A Substring and Subsequence
    CodeForces 366C Dima and Salad
    CodeForces 180C Letter
    CodeForces
    hdu 2859 Phalanx
    socket接收大数据流
  • 原文地址:https://www.cnblogs.com/shamgod/p/5499707.html
Copyright © 2011-2022 走看看