Javascript Js-将scrollTop转换为不透明度级别
我有一个函数,它将Javascript Js-将scrollTop转换为不透明度级别,javascript,Javascript,我有一个函数,它将div的不透明度级别设置为其父级的当前scrollTop $('.container').scroll(function() { var this_panel_cont_ = $(this).get(0); var scrolldepth_ = this_panel_cont_.scrollTop; var fade_out_ = parseInt(scrolldepth_ / 10) / 10; $('
div
的不透明度级别设置为其父级的当前scrollTop
$('.container').scroll(function() {
var this_panel_cont_ = $(this).get(0);
var scrolldepth_ = this_panel_cont_.scrollTop;
var fade_out_ = parseInt(scrolldepth_ / 10) / 10;
$('.panel').css({'opacity':fade_out_});
});
我得到一个最小0.0
到最大3.5
的输出,但我需要最大1.0
,因为不透明度从0.0
到1.0
非常感谢您可以像这样为淡出变量添加if语句
$('.container').scroll(function() {
var this_panel_cont_ = $(this).get(0);
var scrolldepth_ = this_panel_cont_.scrollTop;
var fade_out_ = parseInt(scrolldepth_ / 10) / 10;
if(fade_out_ > 1){fade_out_ = 1;} else{fade_out_ = parseInt(scrolldepth_ / 10) / 10;}
$('.panel').css({'opacity':fade_out_});
});
我还没有尝试过这段代码,但它应该可以完成这项工作。您可以计算元素的滚动百分比,并使用它:
var e = document.getElementsByClassName("container")[0];
$(".container").scroll(function(){
var percent = e.scrollTop / (e.scrollHeight - e.clientHeight);
$(".panel").css({ "opacity": percent });
});
(我不知道scrollHeight
和clientHeight
对应的jQuery函数,这就是我使用document.getElementsByClassName
的原因。)
演示:@pyjama没问题!如果这真的解决了你的问题,请考虑答案:“难道没有一个数学公式,我也可以用在其他情况下,我没有让我们说<代码> clieTeTue< /Cord>?”PyjaMaLeNeTeIt基本上是元素的内部高度。所有元素都应该有这个属性。是的,我理解,但如果我根本不处理元素,那会怎么样?@pyjama,比如什么?如果您想使该计算适应整个文档,您可以使用文档高度作为滚动高度,使用窗口高度作为clientHeight。是一个例子。非常感谢,但是从
1.0
到3.5
的滚动深度如何?您的解决方案不会准确地淡出div
,但速度快了约70%。