我有一個按鈕,當鼠標按鈕被點擊並按住它時,它可以向下滾動div。我認爲這應該工作,但它只滾動一個PX每點擊反對滾動,直到鼠標事件。Mousedown滾動功能不起作用
代碼:
var howfar = 0;
$('#scrolldown').mousedown(function() {
howfar ++;
$('#scrollbox').scrollTop(howfar);
});
我有一個按鈕,當鼠標按鈕被點擊並按住它時,它可以向下滾動div。我認爲這應該工作,但它只滾動一個PX每點擊反對滾動,直到鼠標事件。Mousedown滾動功能不起作用
代碼:
var howfar = 0;
$('#scrolldown').mousedown(function() {
howfar ++;
$('#scrollbox').scrollTop(howfar);
});
保持mousedown
汽車無並不意味着它會火該事件不斷,它只會觸發一次。你可以做什麼開始增加scrollTop一次mousedown
事件觸發器使用setInterval
然後清除mouseup
事件的間隔。
嘗試類似這樣的東西。
var howfar = 0;
var timer;
$('#scrolldown').mousedown(function() {
var innerHeight = $('#scrollbox').css('height', 'auto').height();
$('#scrollbox').css('height', '100px');
timer = setInterval(function(){
if(howfar < innerHeight){
$('#scrollbox').scrollTop(howfar++);
}
else{//Clear the interval
clearInterval(timer);
}
}, 10);
});
$('#scrolldown').mouseup(function() {
clearInterval(timer);
});
我確實喜歡這樣,我自己也一樣,但認爲可能有些簡單。謝謝 。 – 2012-02-03 20:02:35
我認爲這是你在找什麼:
var shouldScrool = false
takeAction,
count = 0;
takeAction = function() {
count = 0;
while(takeAction) {
count++;
$('#scrollbox').scrollTop(count);
}
};
$('#scrolldown').mousedown(function() {
takeAction = true;
takeAction();
});
$('#scrolldown').mouseup(function() {
takeAction = false;
});
我擔心在這裏使用'while'循環將導致所有內容都被鎖定。 – Fosco 2012-02-03 19:57:09
你可以嘗試像this
什麼是你想在這裏完成了嗎? – Paul 2012-02-03 19:49:43
可能沒有足夠的內容滾動。你注意到了嗎? – ShankarSangoli 2012-02-03 19:50:27
@Paul我試圖讓一個div的內容滾動,而鼠標停在我的按鈕div上。 – 2012-02-03 19:54:04