将参数发送到匿名函数

时间:2016-07-02 15:21:46

标签: jquery

我的代码如下所示:

var x = $(function(){
    $('.lobipanel-basic').lobiPanel({
        "state": "unpinned", 
        "resize": "both",
        "reload": false,
        "unpin": false,
        "editTitle": false
    });
}); 

x();

这很好用。如果我想将参数发送到函数x(),该怎么办?基本上我不想出于明显的原因对类名.lobipanel-basic进行硬编码。

感谢。

2 个答案:

答案 0 :(得分:1)

如果您想要的只是一个可以通过传入选择器来初始化插件的函数,只需执行:

function initPanel(selector){
    $(selector).lobiPanel({
        "state": "unpinned", 
        "resize": "both",
        "reload": false,
        "unpin": false,
        "editTitle": false
    });
}

$(function(){
    initPanel('.lobipanel-basic');
});

或者在对象中存储选项并执行以下操作:

var panelOpts = {
    "state": "unpinned", 
    "resize": "both",
    "reload": false,
    "unpin": false,
    "editTitle": false
}; 

$(function(){
    $('.lobipanel-basic').lobiPanel(panelOpts);
});

答案 1 :(得分:0)

在@charlietfl的帮助下,我可以使用以下代码解决

function showPanel(panelClassName){
var panelOpts = {
    "state": "unpinned", 
    "resize": "both",
    "reload": false,
    "unpin": false,
    "editTitle": false
}; 

$(function(){
    $(panelClassName).lobiPanel(panelOpts);
    });
}

showPanel('.lobipanel-basic');

@charlietfl:我想点击一个按钮加载一个面板。现在我可以点击按钮分配showPanel功能。

感谢