抱歉这个绝对的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?
答案 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()
将在原型上调用父方法。