MooTools 1.2 Class Template
Starting a MooTools class can be difficult if you haven't created one before. Here's a template you can copy, paste, and use to create your MooTools classes.
MooTools 1.2 Class Template
var yourClass = new Class({
//implements
Implements: [Options],
//options
options: {
yourOption: ''
},
//initialization
initialize: function(options) {
//set options
this.setOptions(options);
},
//a method that does whatever you want
yourMethod: function() {
}
});
MooTools 1.2 Class Usage Template
//once the DOM is ready
window.addEvent('domready', function() {
var yourInstance = new yourClass({
yourOption: 'yourValue'
});
}
![Interview with a Pornhub Web Developer]()
Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...
![Responsive and Infinitely Scalable JS Animations]()
Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...
![Google-Style Element Fading Using MooTools or jQuery]()
Google recently introduced an interesting effect to their homepage: the top left and top right navigation items don't display until you move your mouse or leave the search term box. Why? I can only speculate that they want their homepage as...
![Create a Simple News Scroller Using MooTools, Part I: The Basics]()
News scroller have been around forever on the internet. Why? Because they're usually classy and effective. Over the next few weeks, we'll be taking a simple scroller and making it into a flexible, portable class. We have to crawl before we...
Great reference point, thanks!
This is something I’ve been curious about for a while with MooTools. What would you use a class for? What determines whether you use a Class or just a function?
I’m really trying to learn best practices for coding with MooTools and other libraries but I haven’t really found an all encompassing resource…all though this site is quickly becoming a favorite.
I’ve been doing the same thing!
@Seth, the best explanation I’ve heard is that classes help make your code more readable, reusable, and less complex. That’s the short answer ;)
@Seth: I use classes when I’m creating functionality with options. I also use classes so I can reference objects. It does keep the code cleaner too!
I use classes when I want to reuse the code with other occasions – in same project, or other – with different options
I use functions when I do more specific tasks, or more simple that a class would be just overhead…
An extra nice post, David. Thanks! (It’s Stumble time!)
Very nice snippet
What about add Extends?
@Imzyos: I don’t extend other classes much.
@Crispjin: Instead of
e.addEvent('mouseenter',function() { });, you may want to consider adding amouseenterevent to the class and replace the above withthis.fireEvent('mouseenter');.I’m not very familiar with the JavaScript/moo syntax so I’m still struggling with your suggestion with the this.fireEvent
How do I implement this? Where to I leave the “e” variable witch points to the element I would like to change the opacity? The mootools docs couldn’t give me a right example…
var fadeButtons = new Class({ Implements: [Options], options: { maxopacity: 1, minopacity: 0 }, initialize: function(options){ this.setOptions(options), this.start() }, //start the button events start: function(){ var list = $$('#buttons div img'); list.each(function(e) { this.e.fireEvent('mouseenter'); //OLD HABBITS /*e.addEvent('mouseenter', function(){ e.fade(this.options.minopacity); }); e.addEvent('mouseleave', function(){ e.fade(this.options.maxopacity); });*/ }); }, });Could you give me a kick in the right direction? Thanks anyway!
Crispijn,
The Netherlands
Thanks for this. For some reason I’ve been using it quite a lot. Simple things are usually best!
One thing I noticed is that Dom Ready is missing ); at the end. So you could add that so it does not confuse newcomers with errors if they use this.
I have been using mootools for a little bit, and I really like it.
Thanks for the tutorials, they’re great… Keep them coming.
Samuel M.
Buensimo el ejemplo, sin embargo los métodos no se disparan a menos que agregues
this.fireEvent('yourMethod');donde"yourMethod"es el nombre de tu evento.Ejemplo.-
show: function() { alert('hacer algo'); /*al final de la instrucción*/ this.fireEvent('show'); },Esto es útil cuando quieres agregar codigo personalizado al ejecutar dicho evento.
Hi,
This is the tutorial what I am looking for.
Before some days I have tried to contact you regarding this point. but no reply from your side.
But after all thanks for this post.
Thanks
Avi