2013-07-23 128 views
0

我在純HTML表中使用Allan Jardine的KeyTable插件。這是一張大桌子,所以它可以水平和垂直滾動。我現在面臨的問題是,當聚焦細胞不在視線內時它不會自動滾動(因爲它具有.focus類,所以知道當前細胞)。使用鍵盤插件時自動滾動

如何在使用鍵盤時自動滾動?

謝謝。

回答

1

我個人使用jQuery的nice scrollintoview插件:https://github.com/litera/jquery-scrollintoview

我自己的代碼,這是好的,但還不夠完善,是這樣的:

var anim_element = $(); 
var keys = new KeyTable({ 
    "table": t, 
    focus: false, 
}); 
keys.event.focus(null, null, function(cell, posx, posy) { 
    /* handler for focus events on all cells ... */ 
    anim_element.stop(); 
    var row = $(cell).parents("tr").first(); 
    anim_element = row.stop().scrollintoview({ duration: 50, direction: 'y'}); 
}); 

請注意,您必須停止動畫時,下一個焦點事件開始,但這樣做,你必須有以前的動畫元素存儲在某處。這是我的代碼的一部分,仍然有點粗糙。

希望它有幫助。

+0

我喜歡你在這裏給出的選項。最後,我選擇了一個自定義解決方案,作爲備用答案發布。我會試試看,如果有效,請接受你的答案。謝謝。 – mattosmat