extension.js 990 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. //************** JQuery extension **************//
  2. (function ($) {
  3. var jqAppend = $.fn.append;
  4. $.fn.append = function () {
  5. // Make a list of arguments that are jQuery objects
  6. var appendages = $.makeArray(arguments).filter(function (arg) {
  7. return arg instanceof $;
  8. });
  9. // Call the actual function
  10. var returnValue = jqAppend.apply(this, arguments);
  11. // Trigger "append" event on all jQuery objects that were appended
  12. for (var i = 0; i < appendages.length; ++i) {
  13. appendages[i].trigger('append');
  14. }
  15. return returnValue;
  16. };
  17. })(jQuery)
  18. //************** Array extension **************//
  19. Array.prototype.sum = function () {
  20. var r = 0;
  21. for (var i = 0; i < this.length; i++) {
  22. r += this[i];
  23. }
  24. return r;
  25. };
  26. Array.prototype.avg = function () {
  27. var r = 0;
  28. for (var i = 0; i < this.length; i++) {
  29. r += this[i];
  30. }
  31. return r / this.length;
  32. };