0

我试图用这个 minifier缩小这个小插件,但结果是错误的。(* ab 和 c 未定义,等等*)

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

谢谢,理查德

编辑*插件现在没有错误*

(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);
4

2 回答 2

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)
于 2012-10-28T18:29:00.740 回答
0

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

于 2013-07-07T20:42:24.523 回答