keys: ['{'],
shift: true,
handler: function(){
var url = $timeline.find('.prev a');
if (url.length) {
self.location = url.attr('href');
shift: true,
handler: function(){
var url = $timeline.find('.prev a');
if (url.length) {
self.location = url.attr('href');
<script type="text/javascript" src="http://img3.douban.com/js/lib/packed_hotkeys644869918.js"></script><script type="text/javascript">
$(function(){
var cur_item = -1,
cur_tab = 0,
$timeline = $('#miniblog'),
$timeline_menu = $('#db-timeline-hd li'),
$doc = $(document),
$win = $(window),
delay,
$items = $timeline.find('.mbtl'), handle_j = function(){
if (delay) {
window.clearTimeout(delay);
}
var h;
if (cur_item + 1 >= $items.length) {
return;
}
h = $items.eq(cur_item + 1).pos().y; // fix meet hidden item, cant get 'y'
if (!h) {
cur_item ++;
handle_j();
return;
}
//end if ( h > $('body').innerHeight() - $win.height()) {
cur_item ++;
return;
}
window.scrollTo(0, h - 20);
}, handle_k = function(){
if (delay) {
window.clearTimeout(delay);
}
h = $items.eq((cur_item - 1 < 0)? 0 : cur_item - 1).pos().y; // fix meet hidden item, cant get 'y'
if (!h) {
cur_item --;
handle_k();
return;
}
//end window.scrollTo(0, h - 20);
}; $win.bind('scroll', function(e){
if (delay) {
window.clearTimeout(delay);
} delay = window.setTimeout(function(){
var t = $doc.scrollTop(), i, len;
if (t < $items.eq(0).pos().y - 20) {
cur_item = -1;
return;
}
for(i = 0, len = $items.length; i < len; i++ ){
if ($items.eq(i).pos().y > t) {
cur_item = i;
break;
}
}
}, 100);
}); $timeline_menu.each(function(i, e){
if ($(e).hasClass('on')) {
cur_tab = i;
}
}); $.hotKeys([
{
keys: [191],
handler: function(){
var srh = $('input[name=search_text]');
if (srh.length) {
srh.focus();
setTimeout(function(){ srh.val(''); },10);
}
}
},
{
keys: ['j'],
handler: handle_j
},
{
keys: [71, 71],
handler: function(){ window.scrollTo(0, 0); }
},
{
keys: [82],
handler: function(e){
var reply = $items.eq(cur_item).next().find('.a_rec_reply,.a_saying_reply,.a_morerec');
if (reply.length) {
reply.eq(0).click();
}
}
},
{
keys: [78],
handler: function(e){
window.scrollTo(0, 0);
setTimeout(function() {
$('#db-talk textarea').focus();
},10);
}
},
{
keys: [71],
shift: true,
handler: function(){ window.scrollTo(0, $('body').innerHeight()); }
},
{
keys: ['}'],
handler: function(){
var tabs = $('#db-timeline-hd li a');
if (cur_tab + 1 >= tabs.length) {
cur_tab = -1;
}
cur_tab ++;
self.location = tabs.eq(cur_tab).attr('href');
}
},
{
keys: ['{'],
handler: function(){
var tabs = $('#db-timeline-hd li a');
if (cur_tab - 1 < 0) {
cur_tab = tabs.length;
}
cur_tab --;
self.location = tabs.eq(cur_tab).attr('href');
}
},
{
keys: ['}'],
shift: true,
handler: function(){
var url = $timeline.find('.next a');
if (url.length) {
self.location = url.attr('href');
}
}
},
{
keys: ['{'],
shift: true,
handler: function(){
var url = $timeline.find('.prev a');
if (url.length) {
self.location = url.attr('href');
}
}
},
{
keys: ['k'],
handler: handle_k
}
]);
});
</script>