簡體   English   中英

限制HTML5畫布元素上的滾動功能

[英]Limit scroll ability on HTML5 canvas elements

我在畫布上繪制了一系列矩形,並使用滾動事件監聽器來上下移動框。

我正在嘗試添加一些驗證,以便框不能滾動超過某一點。

由於加速,滾動值並不總是遞增1,因此當快速滾動時,有時我的驗證會過早開始。

任何想法如何解決這個問題?

所以在我的事件監聽器中,我有:

lScroll += e.deltaY;

if (lScroll > 0) {
    canScroll = false;
    lScroll = 0;
} else {
    canScroll = true;
}

https://jsfiddle.net/kr85k3us/3/

請檢查這是否適合您: https//jsfiddle.net/kr85k3us/4/

我測試了它應該可以工作,但也許你可以更快地移動你的鼠標輪:)

if (!canScroll && lScroll == 0) {
    var first = Object.keys(boxes)[0];

    if (boxes[first]['y'] < 10) {
        var delta = 10 - boxes[first]['y'];
        Object.keys(boxes).forEach(function(k){ boxes[k]['y'] += delta; });
    }
}

這是我添加的一段代碼。 如果您無法滾動並且lScroll為0,則表示我們已達到頂部。 接下來,我檢查第一個框是否應該在哪里。 如果不是(即boxes[first]['y'] < 10 )則調整所有方框的y位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM