| | 89 | |
| | 90 | var tr_list = []; |
| | 91 | |
| | 92 | function scrolldown(){ |
| | 93 | window.scrollTo(0, get_element_y(get_tr(+1))); |
| | 94 | } |
| | 95 | function scrollup(){ |
| | 96 | window.scrollTo(0, get_element_y(get_tr(-1))); |
| | 97 | } |
| | 98 | function get_tr(target){ |
| | 99 | var scroll_y = document.documentElement.scrollTop || document.body.scrollTop; |
| | 100 | for(var i = 0; i < tr_list.length; i++){ |
| | 101 | var tr = tr_list[i]; |
| | 102 | var tr_y = get_element_y(tr) |
| | 103 | if(scroll_y == tr_y){ |
| | 104 | return tr_list[i + target] || tr; |
| | 105 | }else if(scroll_y < tr_y){ |
| | 106 | if(target < 0){ |
| | 107 | return tr_list[i + target] || tr; |
| | 108 | }else{ |
| | 109 | return tr_list[i + target - 1] || tr; |
| | 110 | } |
| | 111 | } |
| | 112 | } |
| | 113 | } |
| | 114 | function get_element_y(element){ |
| | 115 | if(element == document.body) return 0; |
| | 116 | return element.offsetTop + get_element_y(element.parentNode); |
| | 117 | } |
| | 118 | var hotkeys = { |
| | 119 | 'J': function(){ scrolldown(); }, |
| | 120 | 'K': function(){ scrollup(); } |
| | 121 | } |