【问题标题】:how to run my own jQuery function correctly?如何正确运行我自己的 jQuery 函数?
【发布时间】:2010-02-06 19:59:45
【问题描述】:

我有这个代码可以改变图片和附加链接。

var imgSwap(pic, link){
    $("#sampleimg")
        .load(function () {   
           $(this).hide();
           $('#indexPic').removeClass('loading');
           $(this).fadeIn(500);
           })
        .error(function () {})
        .attr({src : picArray[5]});
    $("a.frontlink").attr("href", linkArray[0]);
    $('#indexPic').addClass('loading');
}

$("#arcade-button").click(function () { imgSwap(picArray[0], linkArray[0])});

当我在每个按钮之后运行洞的东西时,代码有效,但当我尝试调用我自己的函数和可选参数时则无效。似乎找不到缺陷...对任何人有一点帮助?

【问题讨论】:

    标签: jquery function optional-parameters


    【解决方案1】:

    试试:

    function imgSwap(pic, link){
        $("#sampleimg").load(function () {   
            $(this).hide();
            $('#indexPic').removeClass('loading');
            $(this).fadeIn(500);
        }).attr({src: pic});
        $("a.frontlink").attr("href", link);
        $('#indexPic').addClass('loading');
    }
    

    而不是

    var imgSwap(pic, link){ /* further code */ }
    

    还请注意,您将参数命名为 piclink,但在函数体中使用 picArray[5]linkArray[0](因此对其进行了硬编码)。

    如果您不希望发生任何事情,我认为您不必提供空的错误函数。

    【讨论】:

    • var imgSwap = function(pic, link){ ... };
    • 谢谢你的答案。解释中的代码混乱:/没有像IRL那样对其进行硬编码。 (我在这里的第一篇文章!)。我会试试你的建议:)
    • @VoodooBurger:没问题,有问题就问。您还可以编辑您的问题以澄清它或更好地解释您想要做什么。我的意思是,我知道您想要实现什么,但也许您可以更好地解释文档的结构。
    • :D 成功了!多谢!只是为了澄清。代码的含义是缩短每个事件侦听器所需的编码量。我刚开始使用 javascript,所以现在我试图强迫自己不要对东西进行太多硬编码,因为我刚刚学会了如何制作函数:]
    【解决方案2】:

    它现在在一个 var 中,如果你想自己调用它,你可能不得不像实例化一个新对象一样调用它例如:new imgSwap(pic,link); 以另一种方式调用 imgSwap(pic,link) 会处理它像一个对象而不执行里面的代码。

    或者只是把它改成@Felix所说的函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 2011-10-30
      相关资源
      最近更新 更多