如何在插件外部的插件中运行jquery函数?

时间:2012-11-21 22:05:24

标签: jquery jquery-plugins

如何在以下swatchbook函数中运行“._openclose()”?

http://tympanus.net/Tutorials/SwatchBook/index3.html

我试过像:

$( '#sb-container' ).swatchbook = function () {
    this._openclose()
}

2 个答案:

答案 0 :(得分:0)

this page上有关此插件的文档中有很多有用的信息。 jQuery的东西是最底层的。

没有使用插件,我不确定它是如何工作的,但我可以看到你的'this'不是jQuery对象。尝试:

$( '#sb-container' ).swatchbook = function () {
    $(this)._openclose()
}); 

OR

$( '#sb-container' ).swatchbook = function () {
    _self._openclose()
});

_self在插件中声明为变量'this':

var _self = this; 

答案 1 :(得分:0)

您可以按closeIdx : 11行指定的项目触发事件。

$(function() {
    $( '#sb-container' ).swatchbook( {
        // number of degrees that is between each item
        angleInc    : 15,
        neighbor    : 15,
        // if it should be closed by default
        initclosed  : true,
        // index of the element that when clicked, triggers the open/close function
        // by default there is no such element
        closeIdx    : 11
    } ); 

});

function test(){
    $('.sb-toggle').trigger('click');
}

HTML:

<div id="test" onclick="test();">Test</div>