2010-02-06 66 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所說的功能。