簡體   English   中英

jQuery找到最大用戶滾動值

[英]jQuery find maximum user scroll value

我想在用戶滾動頁面時獲取最大值。 我已設置超時,因此例如當用戶繼續滾動時,我需要找到他們在頁面上滾動的位置並存儲最大值

var $window = $(window);
var $body = $(document.body);
$window.on('scroll', function() {
    clearTimeout(jQuery.data(this, "scrollCheck"));
    jQuery.data(this, "scrollCheck", setTimeout(function() {
        var scrolled_val = $body.scrollTop();
        var max_value = Math.max(scrolled_val,scrolled_val);
        console.log("max value is " + max_value);
        perc = scrolled_val / $body.height() * 100;
        rounded = Math.round(perc / 10) * 10;
        console.log("% value is " + rounded);
    }, 250));
});

上面的代碼沒有顯示最大值,而是顯示用戶滾動到的每個值,而我需要顯示最大值。 有什么想法嗎?

UPDATE設法使用數組使其工作。 感謝您的輸入

var $window = $(window);
var $body = $(document.body);
var a = []; 
$window.on('scroll', function() {
    clearTimeout(jQuery.data(this, "scrollCheck"));
    jQuery.data(this, "scrollCheck", setTimeout(function() {
        var scrolled_val = $body.scrollTop();
        a.push(scrolled_val);
        console.log("value is " + scrolled_val);
        console.log(a);
        var max = Math.max.apply(Math,a);
        console.log("max value is " + max);
        perc = max / $body.height() * 100;
        rounded = Math.round(perc / 10) * 10;
        console.log("% value is " + rounded);
    }, 250));
});

假設有問題的對象是id為“my_div”的div

var objDiv = getElementById("my_div");

objDiv.scrollTop將包含div當前滾動位置自上而下的滾動值,因此如果向下滾動5像素,它將返回5。 objDiv.scrollLeft將在水平滾動條中包含左側的滾動值。 您可以將此值存儲在變量中,然后稍后重置scrollHeight屬性。

var scrollValue = objDiv.scrollTop;

然后是

objDiv.scrollHeight = scrollValue;

暫無
暫無

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

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