Team:UESTC/pop.js

From 2013.igem.org

// // 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 [1] //

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