6
divのリンクリストがオーバーフローしています。私がしたいことは、ユーザーが上/下ボタンでリンクのこのメニューをナビゲートできることです。ユーザーが対応するボタンをクリックするたびに、1つのリンク要素の高さだけ上下にスクロールするようにします。私はいくつかのコードを試しましたが、私はそれを両方向に正しい量だけスクロールさせる方法を理解していないようです。誰か助けてくれますか?jQuery scrollを使用して、設定されたピクセル数だけ上下にスクロールします。Top
すべてのリンクは同じクラスです。
編集:私はすでに上下にスクロールするために管理している
。今私はちょうど1つのリンクの高さの少しのステップでスクロールする必要があります。
$(function() {
var ele = $('#scroller');
var speed = 10, scroll = 5, scrolling;
$('.scroller-btn-up').click(function() {
// Scroll the element up
scrolling = window.setInterval(function() {
ele.scrollTop(ele.scrollTop() - scroll);
}, speed);
});
$('.scroller-btn-down').click(function() {
// Scroll the element down
scrolling = window.setInterval(function() {
ele.scrollTop(ele.scrollTop() + scroll);
}, speed);
});
$('.scroller-btn-up, .scroller-btn-down').bind({
click: function(e) {
// Prevent the default click action
e.preventDefault();
},
mouseleave: function() {
if (scrolling) {
window.clearInterval(scrolling);
scrolling = false;
}
}
});
});
あなたはそれがより信頼性の高いリンクの高さを計算するのではなく、それをハードコーディング見つけることがあります。テキストの一部をFirefoxで拡大する場合は、フォントサイズをピクセル単位で増加させます。このようなもの。 var scroll = $( '#scroller a')。height(); –
おかげさまで、ありがとうございます。私が今行う必要があるのは、スクロールトップをアニメ化することだけです。このコードでこれを行うにはどうすればよいですか? –
'ele.animate({scrollTop :(ele.scrollTop() - scroll)+ 'px'}))' –