2010-02-06 26 views
1

我有这段代码正在改变一张图片和其他链接。如何正确运行我自己的jQuery函数?

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])}); 

的代码,当我运行的每个按钮后,孔的东西,而不是当我尝试打电话给我自己的功能和可选的参数工作。似乎无法找到缺陷...有人帮助任何人?

回答

3

尝试:的

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]函数体中(从而硬编码)。

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

+0

或'var imgSwap = function(pic,link){...};' – munch 2010-02-06 20:05:50

+0

Thx为答案。搞砸了代码解释:/没有像IRL那样硬编码。 (我的第一篇文章在这里!)。我会尝试你的提示:) – VoodooBurger 2010-02-06 22:09:49

+0

@VoodooBurger:没问题,只要问你什么时候有问题。你也可以编辑你的问题来澄清它,或者更好地解释你想要做什么。我的意思是,我知道你想达到什么,但也许你可以更好地解释文档的结构。 – 2010-02-06 22:16:59

0

它现在在一个var中,如果你想自己调用它,你可能需要调用它来实例化一个新对象ex:new imgSwap(pic,link);以另一种方式调用imgSwap(图片,链接)会将它看作像一个对象,而不是执行里面的代码。

或者只是把它改成像@Felix所说的功能。