0

我正在使用 jQuery 计算当前滚动的页面数量,并在每次滚动页面时将该值写入输入。

var scrollAmount = $(window).scrollTop();
var documentHeight = $(document).height();
var scrollPercent = (scrollAmount / documentHeight) * 100;

$(window).scroll(function (event) {
 $(".box").val(scrollPercent);
});​

小提琴:http: //jsfiddle.net/x3jXK/

然而,当我尝试这个时,输入总是显示为零。

我记得读过一些关于使用.attr()而不是.val()因为显示的值不会改变的东西,但不确定我如何在这里实现它,因为它是动态变化的,而不仅仅是从一秒到一秒。

4

1 回答 1

1

您的 vars 应该在您的函数中,因此可以在每次滚动时计算它们。

$(window).scroll(function(event) {
    var scrollAmount = $(window).scrollTop();
    var documentHeight = $(document).height();
    var scrollPercent = (scrollAmount / documentHeight) * 100;

    $(".knob").val(scrollPercent);
});

在这里测试它:http: //jsfiddle.net/RASG/x3jXK/1/

于 2012-10-16T21:00:54.347 回答