2014-05-22 64 views
0

我通過JavaScript以編程方式將焦點移動到頁面上的不同按鈕。我需要做的是每當由於焦點改變到不同的元素(頁面上下)而滾動頁面時,它應該以慢動作效果滾動而不是快速滾動。如何做滾動效果改變頁面元素的焦點?

我怎樣才能達到全球性與jQuery的這種影響?

+0

使用動畫。 http://api.jquery.com/animate/ –

+0

我創建了一個示例_for you_:[Fiddle](http://jsfiddle.net/p5csK/)。不幸的是,聽到「焦點」或「模糊」並停止事件冒泡並不能防止瀏覽器聚焦/模糊。我建議編寫一個函數,首先順利滾動,然後集中元素。這也具有用戶將識別焦點改變並因此識別輸入元素的優點。 –

回答

1

編輯: 難道是不可能做到這一點:

$('#example-button-id').on('focus', function() { 
    $("html, body").animate({ scrollTop: $(this).offset().top + 'px' }, 500); 
} 

凡500的時間(ms)量。

+0

這個工程(只在Chrome〜33)。在Firefox 26-28中,它不會_smootly_滾動。 [小提琴](http://jsfiddle.net/p5csK/1/) –