2011-06-22 48 views
1

我正在寫一個手風琴插件,自動旋轉。我正在嘗試添加一個回調函數,每次提供新幻燈片時都會觸發,並且用戶已將其設置爲init中的選項。因此,舉例來說:回調每個旋轉jquery插件

回調的選項設置:

var defaults = 
    { 
    callback: function(arg) {}  
    }; 
var options = $.extend(defaults, options); 

旋轉腳本:

function autorotation() { 
    var arg = 'hi'; 
    options.callback.call(this); 
} 

初始化插件腳本:

$('element').myplugin({ 
    callback: function(arg) { 
     alert(arg); 
    } 
}); 

我的問題是,我該怎麼辦正確寫入,這樣每次幻燈片旋轉到客戶端之外時,我都可以成功地傳遞參數插入?我希望這對每個人都有意義。我儘可能地簡單。

+1

那麼@Jim,這有點自私。請重做你的問題。無論你有多愚蠢,你的問題都可以幫助別人。至少對於那些花時間回答你的人來說。 –

+0

恢復問題以保存答案。 –

回答

2

只需將「arg」變量和任何其他變量作爲「調用」方法調用的參數添加即可。

var arg = "hello"; 
var anotherarg = "world"; 
options.callback.call(this, arg, anotherarg); 

而在回調中,它們將作爲參數提供。

$('element').myplugin({ 
    callback: function(thefirstarg, thesecondarg) { 
     alert(thefirstarg);//alerts "hello" 
     alert(thesecondarg);//alerts "world" 
    } 
}); 
+1

只是爲了完整:[討論適用和調用函數](http://stackoverflow.com/questions/1986896/what-is-the-difference-between-call-and-apply) –

+0

謝謝@maenu。我忘了那個。 –