在jQuery中使用页面滚动百分比更改输入值
我使用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);
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问题不在于范围界定。问题在于计算的时间啊!这更有道理。谢谢。文档高度可以更改。例如,添加内容或调整浏览器窗口大小时。