如何将变量从一个函数动态发送到另一个函数

时间:2018-03-03 10:44:10

标签: javascript jquery wordpress jquery-plugins

我是jquery的新手,并试图通过这样做来学习它。因此,当我操作脚本时,我提出了以下问题。有人可以指导我。

它是一个jquery插件,有两个文件,一个是jquery插件,另一个是HTML中提供的直接脚本代码。有一个简单的文件和另一个覆盖函数的文件

插件文件。

(function($){

    $.fn.animationCounter = function(options) {
        return this.each(function() {

                var element = $(this);

                var defaults = {
                    start: 0,
                    end: null,
                    step: 1,
                    delay: 1000,
                    txt: "kh"
                }

                var settings = $.extend(defaults, options);

                var nb_start = settings.start;
                var nb_end = settings.end;

                element.text(nb_start + settings.txt);

                var counter = function() {
                    // Definition of conditions of arrest
                    if (nb_end != null && nb_start >= nb_end) {
                        return;
                    }
                    // incrementation
                    nb_start = nb_start + settings.step;
                    // display
                    element.text(nb_start + settings.txt);
                }

                // Timer
                // Launches every "settings.delay"
                setInterval(counter, settings.delay);


        });
    };

})(jQuery);

HTML文档的<script>标记中的代码如下;

$('.fb').animationCounter({
       start: 0,
       end: 25,
       step: 5,
       delay: 1000,
       txt: "km"
});
});

此插件和功能正常。

我想要做的是跟随;

  1. 我为默认部分(插件文件)
  2. 分配了不同的变量
  3. 然后脚本需要从插件默认区域调用这些数据,并更新其变量或为其生成变量。
  4. 有人可以帮忙或指导我如何度过它吗?

1 个答案:

答案 0 :(得分:0)

您可以使用javascript全局变量来执行此操作。

startValue = 500; // asign values globally.

然后在你的插件文件中使用它。

  $.fn.animationCounter = function(options) {
        return this.each(function() {

                var element = $(this);

                var defaults = {
                    start: window.startValue, // use the value
                    end: null,
                    step: 1,
                   // code continues