Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery中使用页面滚动百分比更改输入值_Jquery_Scroll - Fatal编程技术网

在jQuery中使用页面滚动百分比更改输入值

在jQuery中使用页面滚动百分比更改输入值,jquery,scroll,Jquery,Scroll,我使用jQuery计算当前滚动页面的数量,并在每次滚动页面时将该值写入输入 var scrollAmount = $(window).scrollTop(); var documentHeight = $(document).height(); var scrollPercent = (scrollAmount / documentHeight) * 100; $(window).scroll(function (event) { $(".box").val(scrollPercent);

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

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

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

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


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

您的变量应该在您的函数中,因此可以在每个滚动上计算它们

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

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

在这里测试:

我简直不敢相信。它们不被认为是全局变量吗?最好解释一下;-)@MattRiva问题不在于范围界定。问题在于计算的时间啊!这更有道理。谢谢。文档高度可以更改。例如,添加内容或调整浏览器窗口大小时。