50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
;(function(){
|
|
|
|
window.patch_date = function patch(f){
|
|
var NativeDate = window.Date;
|
|
var date = function date(y,m,d,h,i,s,j){
|
|
switch(arguments.length){
|
|
case 0: return date.now ? new NativeDate(date.now) : new NativeDate();
|
|
case 1: return new NativeDate(y);
|
|
case 2: return new NativeDate(y,m);
|
|
case 3: return new NativeDate(y,m,d);
|
|
case 4: return new NativeDate(y,m,d,h);
|
|
case 5: return new NativeDate(y,m,d,h,i);
|
|
case 6: return new NativeDate(y,m,d,h,i,s);
|
|
case 7: return new NativeDate(y,y,m,d,h,i,s,j);
|
|
}
|
|
};
|
|
date.UTC = NativeDate.UTC;
|
|
return function(){
|
|
Array.prototype.push.call(arguments, date);
|
|
window.Date = date;
|
|
f.apply(this, arguments);
|
|
window.Date = NativeDate;
|
|
};
|
|
};
|
|
|
|
|
|
window.patch_show_hide = function patch(f){
|
|
var oldShow = $.fn.show,
|
|
newShow = function () {
|
|
$(this).removeClass('foo');
|
|
return oldShow.apply(this, arguments);
|
|
};
|
|
|
|
var oldHide = $.fn.hide,
|
|
newHide = function () {
|
|
$(this).addClass('foo');
|
|
return oldHide.apply(this, arguments);
|
|
};
|
|
|
|
return function(){
|
|
$.fn.show = newShow;
|
|
$.fn.hide = newHide;
|
|
f.apply(this, arguments);
|
|
$.fn.show = oldShow;
|
|
$.fn.hide = oldHide;
|
|
};
|
|
};
|
|
|
|
}());
|