home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_4161 < prev    next >
Encoding:
Text File  |  2010-02-08  |  970 b   |  43 lines

  1. /*
  2.  * bookmarks management
  3.  * Copyright 2008 Kovid Goyal
  4.  * License: GNU GPL v3
  5.  */
  6.  
  7. function selector_in_parent(elem) {
  8.     var num = elem.prevAll().length;
  9.     var sel = " > *:eq("+num+") ";
  10.     return sel;
  11. }
  12.  
  13. function selector(elem) {
  14.     var obj = elem;
  15.     var sel = "";
  16.     while (obj[0] != document) {
  17.         sel = selector_in_parent(obj) + sel;
  18.         obj = obj.parent();
  19.     }
  20.     return sel;
  21. }
  22.  
  23. function calculate_bookmark(y, node) {
  24.     var elem = $(node);
  25.     var sel = selector(elem);
  26.     var ratio = (y - elem.offset().top)/elem.height();
  27.     if (ratio > 1) { ratio = 1; }
  28.     if (ratio < 0) { ratio = 0; }
  29.     return sel + "|" + ratio;
  30. }
  31.  
  32. function animated_scrolling_done() {
  33.     window.py_bridge.animated_scroll_done();
  34. }
  35.  
  36. function scroll_to_bookmark(bookmark) {
  37.     bm = bookmark.split("|");
  38.     var ratio = 0.7 * parseFloat(bm[1]);
  39.     $.scrollTo($(bm[0]), 1000,
  40.         {over:ratio, onAfter:function(){window.py_bridge.animated_scroll_done()}});
  41. }
  42.  
  43.