Javascript 基于关闭窗口宽度的滚动淡入元素不透明度
我试图在元素第一次进入视口时淡入淡入,然后在它到达视口末端时使其不透明度等于100%。我的工作已经达到100%不透明度,当它到达最后。然而,当它开始制作动画时,它开始的速度大约是60%,我知道这是因为我是基于滚动位置的。所以我的问题是,当它进入视口时,如何计算从0开始的不透明度 这就是我到目前为止所做的:Javascript 基于关闭窗口宽度的滚动淡入元素不透明度,javascript,jquery,scroll,opacity,Javascript,Jquery,Scroll,Opacity,我试图在元素第一次进入视口时淡入淡入,然后在它到达视口末端时使其不透明度等于100%。我的工作已经达到100%不透明度,当它到达最后。然而,当它开始制作动画时,它开始的速度大约是60%,我知道这是因为我是基于滚动位置的。所以我的问题是,当它进入视口时,如何计算从0开始的不透明度 这就是我到目前为止所做的: $('.left-cont').each(function() { var $this = $(this), leftPos = $this.offset(
$('.left-cont').each(function() {
var $this = $(this),
leftPos = $this.offset().left,
fadeStart = leftPos - winWidth,
fadeUntil = leftPos,
opacity;
console.log( winWidth - (leftPos - scrollPos));
console.log(fadeStart);
if( scrollPos <= fadeStart ) {
opacity = 0;
}
else {
opacity = scrollPos/fadeUntil;
}
$this.css({
'opacity': opacity
});
});
$('.left cont')。每个(函数(){
变量$this=$(this),
leftPos=$this.offset().left,
fadeStart=leftPos-winWidth,
fadeUntil=左位置,
不透明度
log(winWidth-(leftPos-scrollPos));
控制台日志(fadeStart);
如果(scrollPos1),这个jQuery函数只执行一次,还是放在onScroll绑定函数中
$( window ).scroll(function() {
/* get scroll top and left values here */
$( ".box" ).each(function(){
/* do position check and css adjustments here */
});
});
2) 不透明度的计算为:
(1-((框偏移-滚动顶部)/窗口高度))
3) 我在这里做了一个垂直滚动的工作示例:
通过(取消)注释函数内的其他计算,可以将其更改为基于水平滚动计算不透明度
!确保对象后面/旁边有足够的内容(或填充/边距)。否则它将永远达不到不透明度:1
(例如屏幕的顶部/左侧)。非常感谢!正是由于计算结果让我感到困惑。感谢您的帮助,谢谢。