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

Passing a variable to init function (variable scope issue)

我正在使用 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
    });

 )};

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

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

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

顺便说一下,您的代码中有一个打印错误,应该是 }); 而不是 )};结束