您可以使用jQuery
hover
功能如下,
http://jsfiddle.net/RZecw/
JS
var stopScrollingDown = true,stopScrollingUp = true;
var api = $('.scroll-pane').jScrollPane().data('jsp');
$('#scroll-up').hover(
function() {
stopScrollingUp = false;
scrollUp();
}, function() {
stopScrollingUp = true;
});
$('#scroll-down').hover(function() {
stopScrollingDown = false;
scrollDown();
}, function() {
stopScrollingDown = true;
});
function scrollUp() {
if (!stopScrollingUp) {
api.scrollByY(-10);
setTimeout(scrollUp, 80);/*the smaller this value (80) is the faster it will move*/
}
}
function scrollDown() {
if (!stopScrollingDown) {
api.scrollByY(10);
setTimeout(scrollDown, 80);
}
}
HTML
<div class="scroll-pane"> <b>An Iframe at the bottom</b>
<p>This demonstration shows basic use of the jScrollPane plugin to add scrollbars to a HTML which can be styled at will.This demonstration shows basic use of the jScrollPane
....
</div>
<div id="scroll-up" class="btn">[up]</div>
<br/>
<div id="scroll-down" class="btn">[down]</div>
CSS
.scroll-pane {
height:100px;
}
.btn{
display:inline;
}
編輯 - 相關評論
隱藏/禁用按鈕,如果沒有需要對內容進行滾動,你可以檢查是否有拖動手柄存在。例如,您可以添加在下面的代碼片斷結束,
http://jsfiddle.net/RZecw/2/
if(!$('.jspDrag').length){
/*hide controls or disable them*/
/*$('.btn').css({visibility:"hidden"});*/
$('.btn').css({color:"lightgray"});
$('.btn').off('mouseenter mouseleave');
}
你真棒,非常完美。謝謝!對不起,如果沒有內容溢出,有沒有辦法使用這種方法來隱藏按鈕,或者我應該以不同的方式做到這一點? – Nick
@Nick謝謝,我很高興它爲你工作。您可以檢查是否顯示拖曳手柄,並採取合適的行動,例如'if(!$('。jspDrag')。length){/ *隱藏控件或禁用它們* /}' – melc
@Nick用一個例子更新了答案。 – melc