(function( $ ){ var methods = { init : function( options ){ var $this = this; options = $.extend( $.fn.drtipbar.options, options ); return this.each(function(){ // this.isShow = false; var $this = $(this); $this.data("isShow", false); $this.data("disappearTimer" , null); // this.disappearTimer = null; }); }, showMsg:function(msg){ return this.each(function(){ var $this = $(this); if($this.data("isShow")){ //直接显示msg $("#drTipbarContent").text(msg); $this.data("isShow", true); if($this.data("disappearTimer") != null){ clearTimeout($this.data("disappearTimer") ); var disappearTimer=setTimeout(function(){ //消失动画 $this.removeClass("drTipShow").addClass("drTipHide"); $this.one(($.getTransitionEnd()).end, function() { $this.data("disappearTimer",null) $this.data("isShow",false) }); },3000); $this.data("disappearTimer",disappearTimer) } }else{ $this.data("isShow", true); $("#drTipbarContent").text(msg); $this.removeClass("drTipHide").addClass("drTipShow"); var disappearTimer=setTimeout(function(){ //消失动画 $this.removeClass("drTipShow").addClass("drTipHide"); $this.one(($.getTransitionEnd()).end, function() { $this.data("disappearTimer",null) $this.data("isShow",false) }); },3000); $this.data("disappearTimer",disappearTimer) } }); } }; $.fn.drtipbar = function( method ) { // Method calling logic if ( methods[method] ) { return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 )); } else if ( typeof method === 'object' || ! method ) { return methods.init.apply( this, arguments ); } else { $.error( 'Method ' + method + ' does not exist on jQuery.drtipbar' ); } }; $.fn.drtipbar.options = {}; })( jQuery );