如何使用js-minifier

时间:2012-10-28 18:21:36

标签: jquery jquery-plugins minify

我尝试缩小这个小插件with this minifier,但它出错了。 (* a.b和c未定义,等等*)

有人看到了什么问题,或者是否有一些在线工具检查它是否有效?

谢谢,理查德

编辑 * PLUGIN现在没有错误 *

(function($) {

$.fn.bar = function(options) {
    var opts = $.extend({}, $.fn.bar.defaults, options);
    return this.each(function() {
        $this = $(this);
        var o = $.meta ? $.extend({}, opts, $this.data()) : opts;

        $this.click(function(e){
            if(!$('.jbar').length){
                var _remove_cross = "";
                timeout = setTimeout(function(){$.fn.bar.removebar();},o.time);
                var _message_span = $(document.createElement('span')).addClass('jbar-content').html(o.message);
                _message_span.css({"color" : o.color});
                var _wrap_bar;
                _wrap_bar   = (o.position == 'bottom') ? 
                 $(document.createElement('div')).addClass('jbar jbar-bottom'):
                 $(document.createElement('div')).addClass('jbar jbar-top') ;

                _wrap_bar.css({"background-color"   : o.background_color});
                if(o.removebutton){
                    _remove_cross = $(document.createElement('a')).addClass('jbar-cross');
                    _remove_cross.click(function(e){$.fn.bar.removebar();});
                }
                else{               
                    _wrap_bar.css({"cursor" : "pointer"});
                    _wrap_bar.click(function(e){$.fn.bar.removebar();});
                }   
                _wrap_bar.append(_message_span).append(_remove_cross).hide().insertBefore($('.content')).fadeIn('fast');
            }else{
                $('.jbar').find('.jbar-content').html(o.message);
            }
        });

        if(o.auto)$this.trigger('click');

    });
};
var timeout;
$.fn.bar.removebar  = function(txt) {
    if($('.jbar').length){
        clearTimeout(timeout);
        $('.jbar').fadeOut('fast',function(){
            $(this).remove();
        });
    }   
};
$.fn.bar.defaults = {
    background_color    : '#FFFFFF',
    color               : '#191919',
    position            : 'top',
    removebutton        : false,
    time                : 8000,
    auto:true
};
})(jQuery);

2 个答案:

答案 0 :(得分:1)

您可以使用UglifyJS的在线版本或使用GitHub上的来源,以便您自己使用。

缩小版,

(function(e){e.fn.bar=function(n){var r=e.extend({},e.fn.bar.defaults,n);return this.each(function(){$this=e(this);var n=e.meta?e.extend({},r,$this.data()):r;$this.click(function(r){if(!e(".jbar").length){var i="";t=setTimeout(function(){e.fn.bar.removebar()},n.time);var s=e(document.createElement("span")).addClass("jbar-content").html(n.message);s.css({color:n.color});var u;u=n.position=="bottom"?e(document.createElement("div")).addClass("jbar jbar-bottom"):e(document.createElement("div")).addClass("jbar jbar-top"),u.css({"background-color":n.background_color}),n.removebutton?(i=e(document.createElement("a")).addClass("jbar-cross"),i.click(function(t){e.fn.bar.removebar()})):(u.css({cursor:"pointer"}),u.click(function(t){e.fn.bar.removebar()})),u.append(s).append(i).hide().insertBefore(e(".content")).fadeIn("fast")}else e(".jbar").find(".jbar-content").html(n.message)}),n.auto&&$this.trigger("click")})};var t;e.fn.bar.removebar=function(n){e(".jbar").length&&(clearTimeout(t),e(".jbar").fadeOut("fast",function(){e(this).remove()}))},e.fn.bar.defaults={background_color:"#FFFFFF",color:"#191919",position:"top",removebutton:!1,time:8e3,auto:!0}})(jQuery)

答案 1 :(得分:0)

下次给www.blimptontech.com注意你的JS缩小需求。很棒的工具,使用UglifyJS。甚至可以将文件合并为一个文件,同时在此过程中缩小文件。