More reader usability enchancements: highlighting theme on page enter.
authorMarek Stępniowski <marek@stepniowski.com>
Thu, 18 Sep 2008 10:15:37 +0000 (12:15 +0200)
committerMarek Stępniowski <marek@stepniowski.com>
Thu, 18 Sep 2008 10:15:37 +0000 (12:15 +0200)
wolnelektury/media/js/book.js

index 512c86e..dcab8b1 100644 (file)
@@ -1,21 +1,26 @@
-$(function() {
-    $.highlightFade.defaults.speed = 3000;
+$(function() {    
+    function scrollToAnchor(anchor) {
+        if (anchor) {
+            var name = anchor.slice(1);
+            $.scrollTo('a[name="' + name + '"]', 500, {offset: {top: -50, left: 0}});
+            $('a[name="' + name + '"]').highlightFade('yellow');
+            window.location.hash = '#' + name;
+        }
+    }
     
+    $.highlightFade.defaults.speed = 3000;
     $('#toc').hide();
-    $.scrollTo('-=50px');
-    
     if ($('#toc li').length == 0) {
         $('#menu li a[href="#toc"]').remove();
     }
     
+    // On page load, scroll to anchor
+    scrollToAnchor(window.location.hash)
+    
     $('body').delegate('click', '#toc a, #themes a, .anchor, .annotation', function(event) {
         event.preventDefault();
         $('#menu li a.selected').click();
-        if ($(this).attr('href')) {
-            var name = $(this).attr('href').slice(1);
-            $.scrollTo('a[name="' + name + '"]', 500, {offset: {top: -50, left: 0}});
-            $('a[name="' + name + '"]').highlightFade('yellow');
-        }
+        scrollToAnchor($(this).attr('href'));
     });
     
     $('#menu li a').toggle(function() {