大家好,我是前端初学者,所以对我来说视差滚动是一个非常有趣的领域,现在我开始学习它。我在看教程,读了很多东西,但我仍然是一个初学者。现在我有了这个:
if (wScroll > $('.clothes-pics').offset().top - ($(window).height() / 1.2)) {
$('.clothes-pics figure').each(function(i){
setTimeout(function(){
$('.clothes-pics figure').eq(i).addClass('is-showing');
}, (300 * (Math.exp(i * 0.15))) - 700);
});
}
所以在这个例子中,我不理解(300*(Math.exp(i*0.15((-700( 代码之前我可以理解85%,但在这里我不知道什么是什么,我真的很困惑。如果有人能向我解释,我将非常感谢
如果有人知道一些关于视差的好教程,那将是非常受欢迎的。
它是setTimeout(callback, timeout)
函数的timeOut
值。
Math.exp(i * 0.15)
意味着,根据索引,i*0.15
的指数与e^(i * 0.15)
相同,其中i是值,e为欧拉数。
计算timeOut
的有趣方法。以下是(i) => { return (300 * (Math.exp(i * 0.15))) - 700); }
的值列表,让您了解较大的索引值对timeOut
:意味着什么
1 => -351.449727182
2 => -295.042357727
3 => -229.506344353
10 => 644.506721101
100 => 980704511.742
1,000 => 4.1811287*(10^67)
基本上,在添加基于元素索引的类之前,等待一段时间(有时是负数(是一种非常奇怪的方式。
计算部分属于setTimeout(function(({.
它所做的只是计算系统在执行以下行之前等待的毫秒数:
$(".衣服图片图"(.eq(i(.addClass("显示"(;
酱汁
只需跟随括号,您就会看到(300*(Math.exp(i*0.15((-700(是setTimeout函数的一个参数,您现在所要做的就是用谷歌搜索该函数,看看该参数的作用。希望这有帮助:(