无法理解Javascript

时间:2016-08-06 11:25:23

标签: javascript jquery parallax parallax.js

大家好,我是初学者,所以对我来说,视差滚动是非常有趣的领域,现在我开始学习它。 我正在观看教程并阅读很多内容,但我仍然是初学者。 现在我有了这个:

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%,但在这里我不知道什么是什么,我真的很困惑。 如果有人能向我解释,我将非常感激。
如果有人知道一些关于视差的好教程,那将非常受欢迎。

2 个答案:

答案 0 :(得分:2)

它是timeOut函数的setTimeout(callback, timeout)值。

根据索引,Math.exp(i * 0.15)表示i*0.15 e^(i * 0.15)timeOut相同,其中 i 是值, e exponent

计算(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) 的含义:

<input name="options" ng-control="options" type="radio" [value]="1"  [(ngModel)]="model.options" ><br/>

<input name="options" ng-control="options" type="radio" [value]="2" [(ngModel)]="model.options" ><br/>

基本上在基于元素索引添加类之前等待(有时是负数)时间的一种非常奇怪的方法。

答案 1 :(得分:0)

计算部分属于setTimeout(function(){。

所有这一切都是计算系统在执行此行之前等待的毫秒数:

$('。clothes-pics figure')。eq(i).addClass('is-showing');

Sauce

只需按下括号即可看到(300 *(Math.exp(i * 0.15)) - 700); 是setTimeout函数的参数,所有你需要的现在要做的就是谷歌的功能,看看该参数做了什么。 希望这会有所帮助:)