foreach循环中的javascript变量

时间:2017-03-31 13:39:04

标签: javascript foreach

我尝试为我的部分设置视差效果视频的速度在html中给出,数据-Lon1就像这样

我收回数据-Lon1并在我的视差函数中使用它,因为这些部分的速度不同

(function(){

  var parallax = document.querySelectorAll(".parallax"),


  window.onscroll = function(){
    [].slice.call(parallax).forEach(function(el,i){
     speed = parseFloat($(el).attr('data-lon1'));
      var windowYOffset = window.pageYOffset,
          elBackgrounPos = "0 " + (windowYOffset * speed) + "px";

      el.style.backgroundPosition = elBackgrounPos;

    });
  };

})();

这些部分没有获得速度值,但如果我默认给出了速度值,它就有效。我如何获得每个数据-Lon1节值并具有三种不同的速度?

1 个答案:

答案 0 :(得分:0)

始终将返回相同的值:

parseFloat($('.parallax').attr('data-lon1'))

因为您选择所有匹配的.parallax元素,并尝试从所有元素中获取一个值,这可能始终默认为第一集。

您可能希望获得循环迭代中使用的特定元素的值:

parseFloat($(el).attr('data-lon1'))