将变量传递给init函数(变量范围问题)

时间:2016-10-23 19:53:28

标签: jquery variables scope stellar.js

我使用stellar.js来获得视差图像效果。我试图将变量传递给stellar.js初始化函数,但它不起作用。插件在我的$(document).ready()函数中初始化(不是一个要求),我也做了一些数学运算,因为我在初始化stellar.js时无法对数字进行硬编码。这是相关代码。

 $(document).ready(function() {
   var $height = $("img").height(); // i.e. $height = 1000px
   var $offset = $height * .75;     // i.e. $offset = 750px;

    $(window).stellar({
      horizontalScrolling: false,
      verticalOffset: $offset
    });

 )};

如果我只是在恒星初始化函数中输入750作为verticalOffset,它可以正常工作。但是,使用$ offset变量不起作用,因为它似乎超出了$(window).stellar()函数的范围。任何人都可以帮我解决这个问题吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您是否尝试将断点放入stellar.js文件代码中以查看在初始化期间传递的选项(实际上,我得到了相同的值)?如果你认为,范围的问题,也许你应该尝试这样的事情:

$(window).stellar({
      horizontalScrolling: false,
      verticalOffset: $("img").height() * .75
    });

顺便说一句,您的代码中存在错误打印,因为它应该}); 而不是)}; 最后