diff options
Diffstat (limited to 'docs/js/jquery.smooth-scroll.js')
-rw-r--r-- | docs/js/jquery.smooth-scroll.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/js/jquery.smooth-scroll.js b/docs/js/jquery.smooth-scroll.js new file mode 100644 index 0000000..ce1e19b --- /dev/null +++ b/docs/js/jquery.smooth-scroll.js @@ -0,0 +1,32 @@ +$(document).ready(function() { + function filterPath(string) { + return string + .replace(/^\//,'') + .replace(/(index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + } + var locationPath = filterPath(location.pathname); + + $('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) { + $(this).click(function(event) { + if (!$(this.hash).offset()) { + return; + } + + event.preventDefault(); + position = $(this.hash).offset().top; + + $('html,body').animate({scrollTop: position}, 400, function() { + location.hash = target; + }); + }); + } + } + }); +}); |