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

问题描述 投票:0回答:1

我是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. 我为Default部分分配了不同的变量(插件文件)
  2. 然后脚本需要从插件默认区域调用这些数据,并更新其变量或为其生成变量。

有人可以帮忙或指导我如何度过它吗?

javascript jquery wordpress jquery-plugins
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.