Mootools中的构造函数语法,容器(noob)的参数

时间:2012-12-13 19:42:50

标签: mootools

抱歉这个绝对的noob问题。 我试图用这个MooTools插件实现Tabs: http://mootools.net/forge/p/simple_tab_pane

构造函数的语法如下:

var myTabPane = new TabPane('tabs', { 
    tabSelector: 'li', 
    contentSelector: 'p' 
});

其中'tabs'是容器的CSS-id。

现在我更喜欢使用容器的类,但'.tabs'不起作用。 这个的正确语法是什么? 我应该如何处理例如每个div-Element?

1 个答案:

答案 0 :(得分:4)

首先要做的事情 - 期待的是什么:

https://github.com/akaIDIOT/MooTools-TabPane/blob/master/Source/TabPane.js#L44

他希望参数是元素id或实际元素。你如何到达那个元素取决于你。

var myTabPane = new TabPane(document.getElement('.tabs'), { 
    tabSelector: 'li', 
    contentSelector: 'p' 
});

传递基于.tabs的类搜索找到的元素。

或者,您可以在类上重新实现initialize方法并将该行写为:

this.container = document.getElement(container);
this.container.getElements(this.options.contentSelector).setStyle('display', 'none');

因此您可以传递类似选择器的jquery:new TabPane('#someid')new TabPane('div.someclass')

你可以通过TabPane.implement({ initialize: fn(){... })重构它,或者像var myTabs = new Class({extends: TabPane, initialize: fn(){ ... })这样做一个子类。扩展时,this.parent()将在原型上调用父方法。