Template:Team:UW/CSS

From 2014.igem.org

(Difference between revisions)
Line 575: Line 575:
<!--welcome box -->
<!--welcome box -->
-
 
-
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
 
<script>
<script>
-
$(function() {
+
$(document).ready(function() {
-
   $('a[href*=#]:not([href=#])').click(function() {
+
   function filterPath(string) {
-
     if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
+
  return string
-
       var target = $(this.hash);
+
     .replace(/^\//,'')
-
       target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
+
    .replace(/(index|default).[a-zA-Z]{3,4}$/,'')
-
      if (target.length) {
+
    .replace(/\/$/,'');
-
        $('html,body').animate({
+
  }
-
          scrollTop: target.offset().top
+
  var locationPath = filterPath(location.pathname);
-
        }, 1000);
+
  var scrollElem = scrollableElement('html', 'body');
-
         return false;
+
 +
  $('a[href*=#]').each(function() {
 +
    var thisPath = filterPath(this.pathname) || locationPath;
 +
    if (  locationPath == thisPath
 +
    && (location.hostname == this.hostname || !this.hostname)
 +
    && this.hash.replace(/#/,'') ) {
 +
       var $target = $(this.hash), target = this.hash;
 +
       if (target) {
 +
        var targetOffset = $target.offset().top;
 +
        $(this).click(function(event) {
 +
          event.preventDefault();
 +
          $(scrollElem).animate({scrollTop: targetOffset}, 400, function() {
 +
            location.hash = target;
 +
          });
 +
         });
       }
       }
     }
     }
   });
   });
 +
 +
  // use the first element that is "scrollable"
 +
  function scrollableElement(els) {
 +
    for (var i = 0, argLength = arguments.length; i <argLength; i++) {
 +
      var el = arguments[i],
 +
          $scrollElement = $(el);
 +
      if ($scrollElement.scrollTop()> 0) {
 +
        return el;
 +
      } else {
 +
        $scrollElement.scrollTop(1);
 +
        var isScrollable = $scrollElement.scrollTop()> 0;
 +
        $scrollElement.scrollTop(0);
 +
        if (isScrollable) {
 +
          return el;
 +
        }
 +
      }
 +
    }
 +
    return [];
 +
  }
 +
});
});
</script>
</script>

Revision as of 22:28, 13 October 2014

University of Washington iGEM 2014