topical media & game development

talk show tell print

lib-jquery-style-custom-development-bundle-ui-effects.pulsate.js / js



  /*
   * jQuery UI Effects Pulsate 1.7.1
   *
   * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
   * Dual licensed under the MIT (MIT-LICENSE.txt)
   * and GPL (GPL-LICENSE.txt) licenses.
   *
   * http://docs.jquery.com/UI/Effects/Pulsate
   *
   * Depends:
   *        effects.core.js
   */
  (function() {
  
  .effects.pulsate = function(o) {
  
          return this.queue(function() {
  
                  // Create element
                  var el = this;
  
                  // Set options
                  var mode = .effects.setMode(el, o.options.mode || 'show'); // Set Mode
                  var times = o.options.times || 5; // Default # of times
                  var duration = o.duration ? o.duration / 2 : .fx.speeds._default / 2;
  
                  // Adjust
                  if (mode == 'hide') times--;
                  if (el.is(':hidden')) { // Show fadeIn
                          el.css('opacity', 0);
                          el.show(); // Show
                          el.animate({opacity: 1}, duration, o.options.easing);
                          times = times-2;
                  }
  
                  // Animate
                  for (var i = 0; i < times; i++) { // Pulsate
                          el.animate({opacity: 0}, duration, o.options.easing).animate({opacity: 1}, duration, o.options.easing);
                  };
                  if (mode == 'hide') { // Last Pulse
                          el.animate({opacity: 0}, duration, o.options.easing, function(){
                                  el.hide(); // Hide
                                  if(o.callback) o.callback.apply(this, arguments); // Callback
                          });
                  } else {
                          el.animate({opacity: 0}, duration, o.options.easing).animate({opacity: 1}, duration, o.options.easing, function(){
                                  if(o.callback) o.callback.apply(this, arguments); // Callback
                          });
                  };
                  el.queue('fx', function() { el.dequeue(); });
                  el.dequeue();
          });
  
  };
  
  })(jQuery);
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.