Team:NCTU Formosa/source/head

From 2013.igem.org

(Difference between revisions)
Line 52: Line 52:
};
};
$('#toc').followTo(441);
$('#toc').followTo(441);
-
});
 
-
$(window).load(function(){
 
-
// Cache selectors
 
-
var lastId,
 
-
    topMenu = $("#toc"),
 
-
    topMenuHeight = topMenu.outerHeight()+15,
 
-
    // All list items
 
-
    menuItems = topMenu.find("a"),
 
-
    // Anchors corresponding to menu items
 
-
    scrollItems = menuItems.map(function(){
 
-
      var item = $($(this).attr("href"));
 
-
      if (item.length) { return item; }
 
-
    }),
 
-
    noScrollAction = false;
 
-
 
-
// Bind click handler to menu items
 
-
// so we can get a fancy scroll animation
 
-
menuItems.click(function(e){
 
-
    var href = $(this).attr("href"),
 
-
        offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
 
-
    noScrollAction = true;
 
-
    $('html, body').stop().animate({
 
-
        scrollTop: offsetTop
 
-
    },{
 
-
        duration: 300,
 
-
        complete: function() {
 
-
            menuItems
 
-
                .parent().removeClass("active")
 
-
                .end().filter("[href=" + href +"]").parent().addClass("active");
 
-
            setTimeout(function(){ noScrollAction = false; }, 10);
 
-
        }
 
-
    });
 
-
    e.preventDefault();
 
-
});
 
-
 
-
// Bind to scroll
 
-
$(window).scroll(function(){
 
-
  if(!noScrollAction){
 
-
      // Get container scroll position
 
-
      var fromTop = $(this).scrollTop()+topMenuHeight;
 
-
     
 
-
      // Get id of current scroll item
 
-
      var cur = scrollItems.map(function(){
 
-
        if ($(this).offset().top < fromTop)
 
-
          return this;
 
-
      });
 
-
      // Get the id of the current element
 
-
      cur = cur[cur.length-1];
 
-
      var id = cur && cur.length ? cur[0].id : "";
 
-
     
 
-
      if (lastId !== id) {
 
-
          lastId = id;
 
-
          // Set/remove active class
 
-
          menuItems
 
-
            .parent().removeClass("selected")
 
-
            .end().filter("[href=#"+id+"]").parent().addClass("selected");
 
-
      }
 
-
  }   
 
-
});
 
});
});
</script>
</script>

Revision as of 19:30, 29 August 2013