Changeset 14137

Show
Ignore:
Timestamp:
06/16/08 23:30:48 (5 years ago)
Author:
poolmmjp
Message:

j/kキーでスクロールするようにとりあえずやってみた。

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/csharp/MMMMB/MMMMB/main.template

    r10791 r14137  
    2424                background: #ecf2fa; 
    2525            } 
    26                         body.Wassr{ 
     26            body.Wassr{ 
    2727                background: #439e00; 
    2828            } 
     
    8181                    window.external.OnScroll(document.documentElement.scrollTop || document.body.scrollTop); 
    8282                }; 
     83                document.onkeydown = function(){ 
     84                    var f = hotkeys[String.fromCharCode(event.keyCode)]; 
     85                    if(f) f(); 
     86                }; 
     87                tr_list = document.getElementsByTagName('tr'); 
    8388            }; 
     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            } 
    84122        </script> 
    85123    </head>