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

Posted

技术标签:

【中文标题】如何动态地将变量从一个函数发送到另一个函数【英文标题】:How to dynamically send variables from one function to another 【发布时间】:2018-08-11 12:07:33 【问题描述】:

我是 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"
);
);

这个插件和功能工作正常。

我想做的是跟随;

    我为默认部分(插件文件)分配了不同的变量 然后脚本需要从插件默认区域调用这些数据,并更新其变量或为其生成变量。

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

【问题讨论】:

没有得到你想做的事?任何示例都将有助于了解您的要求 嗨 Yajiv,如上所述,我有两个文件,一个文件是主要的 Jquery 插件,它包含默认变量等。在顶部提交的大块代码。 第二个文件是一个 如果你想以最快最肮脏的方式做到这一点,只需将你的变量分配给 window.variablename 嗨,yitzhak...你能不能给我举个例子,让我试试看。 【参考方案1】:

您可以使用 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

【讨论】:

我试过这个方法,但不能正确,也许我在某个地方遗漏了什么。 这是主JS文件代码。code $('#counter-block').ready(function () var mycounter = $(".counter-block"); if ( mycounter.length > 0) mycounter.each(function () $('.fb').animationCounter( start: mycounter.start, end: mycounter.stop, step: mycounter.step, delay: mycounter.delay, txt: mycounter.txt ) ); (jQuery));code 当我这样说时,插件输出甚至不会显示在 HTML 页面上。正如我在问题(小代码块)中提到的那样,当我将脚本与手动数据一起放置时,它可以完美运行。仍然无法找到完成这项工作的缺失部分。

以上是关于如何动态地将变量从一个函数发送到另一个函数的主要内容,如果未能解决你的问题,请参考以下文章

如何将变量从 JavaScript 函数发送到文本框? [复制]

如何将 jchararray 作为参数发送到 C 函数

如何将数据从 javascript 函数发送到 MIDI.js API 中的 MIDI.noteOn()

使用 argparse 将参数发送到 Python 脚本中的函数

将状态更新从 C++ 中的函数发送到 C#

给定一组参数,如何将这些参数发送到 Ruby 中的特定函数?