Team:UESTC/pop.js

From 2013.igem.org

Revision as of 14:32, 26 August 2013 by BillXue (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

// // pop! for jQuery // v0.2 requires jQuery v1.2 or later // // Licensed under the MIT: // http://www.opensource.org/licenses/mit-license.php // // Copyright 2007,2008 SEAOFCLOUDS [http://seaofclouds.com] //

(function($) {

 $.pop = function(options){
   
   // settings
   var settings = {
    pop_class : '.pop',
    pop_toggle_text : 
   }
   
   // inject html wrapper
   function initpops (){
     $(settings.pop_class).each(function() {
       var pop_classes = $(this).attr("class");
       $(this).addClass("pop_menu");
$(this).wrap("
");
       $(".pop_menu").attr("class", "pop_menu");
       $(this).before(" \
"+settings.pop_toggle_text+"
\
         ");
     });
   }
   initpops();
   
   // assign reverse z-indexes to each pop
   var totalpops = $(settings.pop_class).size() + 1000;
   $(settings.pop_class).each(function(i) {
    var popzindex = totalpops - i;
    $(this).css({ zIndex: popzindex });
   });
   // close pops if user clicks outside of pop
   activePop = null;
   function closeInactivePop() {
     $(settings.pop_class).each(function (i) {
       if ($(this).hasClass('active') && i!=activePop) {
         $(this).removeClass('active');
         }
     });
     return false;
   }
   $(settings.pop_class).mouseover(function() { activePop = $(settings.pop_class).index(this); });
   $(settings.pop_class).mouseout(function() { activePop = null; });
   $(document.body).click(function(){ 
    closeInactivePop();
   });
   // toggle that pop
   $(".pop_toggle").click(function(){
     $(this).parent(settings.pop_class).toggleClass("active");
   });
 }

})(jQuery);