首页 >技术专题>JQuery
  • EasyUI-1.3未混淆源代码之jquery.progressbar.js
    JQuery|2015年07月01日|手机阅读 评论:0 喜欢:0 阅读:2462
    EasyUI-1.3未混淆源代码之jquery.progressbar.js......
    /**
     * progressbar - jQuery EasyUI
     * 
     * Licensed under the GPL terms
     * To use it on other terms please contact us
     *
     * Copyright(c) 2009-2012 stworthy [ stworthy@gmail.com ] 
     * 
     * Dependencies:
     * 	 none
     * 
     */
    (function($){
    	function init(target){
    		$(target).addClass('progressbar');
    		$(target).html('<div class="progressbar-text"></div><div class="progressbar-value">&nbsp;</div>');
    		return $(target);
    	}
    	
    	function setSize(target,width){
    		var opts = $.data(target, 'progressbar').options;
    		var bar = $.data(target, 'progressbar').bar;
    		if (width) opts.width = width;
    		bar._outerWidth(opts.width);
    		bar.find('div.progressbar-text').width(bar.width());
    	}
    	
    	$.fn.progressbar = function(options, param){
    		if (typeof options == 'string'){
    			var method = $.fn.progressbar.methods[options];
    			if (method){
    				return method(this, param);
    			}
    		}
    		
    		options = options || {};
    		return this.each(function(){
    			var state = $.data(this, 'progressbar');
    			if (state){
    				$.extend(state.options, options);
    			} else {
    				state = $.data(this, 'progressbar', {
    					options: $.extend({}, $.fn.progressbar.defaults, $.fn.progressbar.parseOptions(this), options),
    					bar: init(this)
    				});
    			}
    			$(this).progressbar('setValue', state.options.value);
    			setSize(this);
    		});
    	};
    	
    	$.fn._outerWidth = function(width){
    		return this.each(function(){
    			if (!$.boxModel && $.browser.msie){
    				$(this).width(width);
    			} else {
    				$(this).width(width - ($(this).outerWidth() - $(this).width()));
    			}
    		});
    	};
    	
    	$.fn.progressbar.methods = {
    		options: function(jq){
    			return $.data(jq[0], 'progressbar').options;
    		},
    		resize: function(jq, width){
    			return jq.each(function(){
    				setSize(this, width);
    			});
    		},
    		getValue: function(jq){
    			return $.data(jq[0], 'progressbar').options.value;
    		},
    		setValue: function(jq, value){
    			if (value < 0) value = 0;
    			if (value > 100) value = 100;
    			return jq.each(function(){
    				var opts = $.data(this, 'progressbar').options;
    				var text = opts.text.replace(/{value}/, value);
    				var oldValue = opts.value;
    				opts.value = value;
    				$(this).find('div.progressbar-value').width(value+'%');
    				$(this).find('div.progressbar-text').html(text);
    				if (oldValue != value){
    					opts.onChange.call(this, value, oldValue);
    				}
    			});
    		}
    	};
    	
    	$.fn.progressbar.parseOptions = function(target){
    		var t = $(target);
    		return {
    			width: (parseInt(target.style.width) || undefined),
    			value: (t.attr('value') ? parseInt(t.attr('value')) : undefined),
    			text: t.attr('text')
    		};
    	};
    	
    	$.fn.progressbar.defaults = {
    		width: 'auto',
    		value: 0,	// percentage value
    		text: '{value}%',
    		onChange:function(newValue,oldValue){}
    	};
    })(jQuery);


    本文欢迎转载,转载请注明:

    手机扫码阅读

  • 验证码:  换一个 发表评论
发表点评×
点 评
评论
568
觉得很赞!
Copyright ©2015(v2.2.1), itsshq.com. All Rights Reserved. 互联网技术分享(ITS)社区
鲁ICP备15001266号-1   本站部分文章来源于互联网,如您认为侵犯了您的合法权益,请及时与我们联系,我们会立即处理,谢谢您的合作。