将字段传递给脚本

时间:2016-11-03 16:52:55

标签: javascript jquery

在我的剧本中,我怎样才能阅读'事情'例如autoHide: true在我的脚本上设置变量和诸如此类的东西。我称他们为“事物”。因为我不确定他们被称为什么,因此意味着可能有数以千计的资源,但由于我缺乏知识,我找不到如何实现这一目标。

我希望有多个选项,例如scrollbarWidththeme以及还不知道如何在我的文件中阅读它们,我有点亏本!

我目前正在实时演示here我的完整工作脚本。

(function(jQuery, undefined) {
    "use strict";
    jQuery.fn.extend({
        BananzaScroll: function() {

        // Script Functions Here

        }
    });
})(jQuery);


$( "#demo" ).BananzaScroll({
    autoHide: true  
});

2 个答案:

答案 0 :(得分:2)

将参数传递给BananzaScroll的定义,就像这样。

(function(jQuery, undefined) {
  "use strict";

  jQuery.fn.extend({
    BananzaScroll: function(opts) {
      console.log(opts); // opts contains the object you pass in
    }
  });
})(jQuery);

$('#demo').BananzaScroll({
    autoHide: true
});

JSBin demo

答案 1 :(得分:1)

您基本上只是将它们设置在全局范围内。

<script>
    var myValue = 'abc';
</script>

(function ($) {
    console.log(myValue);
})($);

如果您正在创建需要大量值的内容,最好创建一个对象来保存它们并将其放在全局范围内:

<script>
    var myOptions = {
        autoHide: false,
        speed: 5,
        scrollBarWidth: 10
    };
</script>

这可以防止全球范围受到太多污染。您可能还希望对其进行伪命名,以避免与全局范围内的任何其他内容发生冲突。

<script>
    var myApplicationName_myData = {};
</script>

如果您正在使用jQuery插件,您实际上希望将它们作为参数传递给脚本:

<script>
    $('#id').myPlugin({
        autoHide: false
    });
</script>

$.fn.myPlugin = function (options) {
    console.log(options.autoHide);
};