annotate johndyer-mediaelement-13fa20a/src/js/jeesh-extras.js @ 25:4a4bd554b4c1 tip

Closing this sub branch.
author Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk>
date Mon, 25 Mar 2013 14:02:54 +0000
parents 032bc65ebafc
children
rev   line source
gyorgy@0 1 (function($) {
gyorgy@0 2
gyorgy@0 3 // borrowed from jQuery (no deep, bad fake object detection)
gyorgy@0 4 $.ender({extend: function() {
gyorgy@0 5 var options, name, src, copy,
gyorgy@0 6 target = arguments[0] || {},
gyorgy@0 7 i = 1,
gyorgy@0 8 length = arguments.length;
gyorgy@0 9
gyorgy@0 10 // Handle case when target is a string or something (possible in deep copy)
gyorgy@0 11 if ( typeof target !== "object" && typeof target !== "function" ) {
gyorgy@0 12 target = {};
gyorgy@0 13 }
gyorgy@0 14
gyorgy@0 15 for ( ; i < length; i++ ) {
gyorgy@0 16 // Only deal with non-null/undefined values
gyorgy@0 17 if ( (options = arguments[ i ]) != null ) {
gyorgy@0 18 // Extend the base object
gyorgy@0 19 for ( name in options ) {
gyorgy@0 20 src = target[ name ];
gyorgy@0 21 copy = options[ name ];
gyorgy@0 22
gyorgy@0 23 // Prevent never-ending loop
gyorgy@0 24 if ( target === copy ) {
gyorgy@0 25 continue;
gyorgy@0 26 }
gyorgy@0 27
gyorgy@0 28 if ( copy !== undefined ) {
gyorgy@0 29 target[ name ] = copy;
gyorgy@0 30 }
gyorgy@0 31 }
gyorgy@0 32 }
gyorgy@0 33 }
gyorgy@0 34
gyorgy@0 35 // Return the modified object
gyorgy@0 36 return target;
gyorgy@0 37 }});
gyorgy@0 38
gyorgy@0 39 // outerWidth
gyorgy@0 40 $.ender({outerWidth: function(margin) {
gyorgy@0 41 var fp = parseFloat;
gyorgy@0 42 return fp(this.width())
gyorgy@0 43 + (margin ? fp(this.css('margin-left')) + fp(this.css('margin-right')) : 0)
gyorgy@0 44 + fp(this.css('padding-left'))+ fp(this.css('padding-right'))
gyorgy@0 45 + fp(this.css('border-left-width')) + fp(this.css('border-right-width'))
gyorgy@0 46 ;
gyorgy@0 47 }}, true);
gyorgy@0 48
gyorgy@0 49 })(ender);