31,19 €
MooTools is a simple-to-use JavaScript library, ideal for people with basic JavaScript skills who want to elevate their web applications to a superior level. If you're a newcomer to MooTools looking to build dynamic, rich, and user-interactive web site applications this beginner's guide with its easy-to-follow step-by-step instructions is all you need to rapidly get to grips with MooTools.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 256
Veröffentlichungsjahr: 2009
Copyright © 2009 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2009
Production Reference: 1111209
Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK.
ISBN 978-1-847194-58-9
www.packtpub.com
Cover Image by Vinayak Chittar (<[email protected]>)
Authors
Jacob Gube
Garrick Cheung
Reviewer
Chirstoph Pojer
Acquisition Editor
Douglas Paterson
Development Editor
Steven Wilding
Technical Editor
Bhupali Khule
Indexer
Hemangini Bari
Editorial Team Leader
Akshara Aware
Project Team Leader
Lata Basantani
Project Coordinators
Rajashree Hamine
Srimoyee Ghoshal
Proofreaders
Cathy Cumberlidge
Andy Scothern
Production Coordinator
Adline Swetha Jesuthas
Cover Work
Adline Swetha Jesuthas
Jacob Gube is a massive MooTools developer. He is the founder and Chief Editor of Six Revisions, a website dedicated to web developers and web designers. He's also written for other popular web publications such as Read Write Web and Smashing Magazine, discussing web technologies and development. A web professional for 8 years, Jacob is an in-house web developer specializing in distance-learning education and web accessibility, using PHP, MooTools, and jQuery (alongside other web technology acronyms like VB.NET and AS3/Flash) to get the job done.
Garrick Cheung is a designer-developer and a member of the official Mootools Community team. He's currently a Senior Technical Producer for CBS Interactive developing for sites such as GameSpot.com, TV.com and MP3.com. He's passionate about code optimization and loves to teach and develop in MooTools. Garrick also writes about code and development at his site, http://www.garrickcheung.com.
Christoph currently studies Software Engineering and Business Management at the Graz University of Technology. He is an experienced web developer and has worked on numerous web applications for the past 7 years. He focuses on JavaScript and is a core developer of the MooTools JavaScript framework, as he enjoys pushing the limits of the Web. You can find a lot of his open source work on cpojer.net. In his free time he enjoys watching TV series and hanging out with friends.
This book is geared towards web developers who have a basic understanding of JavaScript and the related technologies that are involved with it, namely HTML and CSS. If you're familiar with a programming or server-side scripting language, code authoring in MooTools will be very familiar.
The goal of this book is to give you a functional and pragmatic understanding of MooTools and is not intended for learning JavaScript, HTML, CSS, and concepts such as the DOM and unobtrusive JavaScript.
This is the first book specifically designed for absolute newcomers to MooTools. It is a Packt Beginner's Guide, which means it is packed with clear step-by-step instructions for performing the most useful tasks.
MooTools is an open source, lightweight, modular object-oriented programming JavaScript web application framework. The goal of the software is to provide a means for intermediate to advanced web developers to write cross-browser JavaScript in an elegant, flexible, and efficient fashion. The MooTools JavaScript framework includes built-in functions for manipulation of CSS, DOM elements, native JavaScript objects, AJAX requests, and more.
You will start learning by 'doing' immediately. As each chapter in the book progresses, the topics get more complex. First you get to grips with the fundamentals of MooTools including downloading, installation, and basic syntax. Once you've grasped the basics you learn to make the most of MooTools' powerful framework. You will learn to bring web pages to life with animation and create exciting web pages with AJAX. You will also learn to customize MooTools to suit your own needs by creating your own plug-ins. You will soon be well on the way to creating web applications and web pages worthy of the Web 2.0 world
Chapter 1, MooTools and Me shows how to download and install Mootools. It demonstrates how to troubleshoot the most common installation problems. Writing a simple MooTools code block to test that the installation has worked is also explained.
Chapter 2, Writing JavaScript with MooTools demonstrates the difference between normal JavaScript against MooTools code. It explains how MooTools code can be far simpler and more efficient than ordinary JavaScript to achieve the same task.
Chapter 3, Selecting DOM Elements gives an overview of the Document Object Model tree and an in-depth discussion of the $() function in the Element class. It showcases basic DOM relationships such as parents, children, and siblings. It also demonstrates how to select page links and then give them a certain color or style
Chapter 4, The Core's Useful Utility Functions introduces native JavaScript variable definitions. It goes through each function and demonstrates how it works.
Chapter 5, Working with Events explains different browser events such as mouse click, mouse hover, mouse moving and key press. It demonstrates how to build a super-charged web form in MooTools. Events are covered showing how to add event listeners to web page elements.
Chapter 6, Bringing Web Pages to Life Using Animation introduces the different animation options available in MooTools. It demonstrates how to create a featured area slider. It demonstrates the MooTools Fx class and its useful methods for working with MooTools effects.
Chapter 7, Going 2.0 with Ajax shows the basics of Ajax. It demonstrates how MooTools makes working with Ajax easy. It will explain how XML files can be used to simulate a relational database.
Chapter 8, Beefing up MooTools Using the MooTools More Plugins demonstrates how to install and use the plug in system. It will explain how the Accordion area can be used to display content in an engaging and compact manner using the Fx Accordian plugin. It will also cover creating user-friendly forms using the OverText plugin.
Chapter 9, Creating Your Own Plugin will show the benefits of creating your own plugin such as reusability and customization. It will explain the guidelines and standards that should be adhered to for creating a plugin. It will also demonstrate how to build a simple plugin.
You will need a computer. It can be running any operating system of your preference. To be able to complete the exercises and examples in each chapter, you will need to have a text editor. Operating systems usually come with one, such as Notepad, on Microsoft Windows, or TextEdit, on Mac OS X. To view the results of the exercises and examples, you will need access to a web browser. The web browsers used in this book are free and can be found on the internet.
Below is a list of the web browsers used in this book:
This book is perfect for MooTools newcomers. You do not require any familiarity with MooTools whatsoever, only a willingness to learn. Basic knowledge of JavaScript syntax and concepts is the only requirement. This book will allow you to grasp the basics of MooTools so that you will be well on the way to creating exciting, customizable web pages and applications.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "We build a function called pageCustomizer that will customize our page."
A block of code will be set as follows:
When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be shown in bold:
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "Click on the #child div ".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an email to <[email protected]>, and mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code for the book
Visit http://www.packtpub.com/files/code/4589_Code.zip to directly download the example code.
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any list of existing errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or web site name immediately so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
In recent years, the Web has undergone a major evolution, an evolution towards highly-interactive, dynamic, responsive web pages and web applications. We're at a time where users expect (and often, demand) web interfaces that talk to them.
Gone are the days where only desktop software was associated with smooth and feature-packed user interfaces that performed complicated tasks. In fact, applications that we normally think of as traditionally being for the desktop (such as Word Processors, Image editors, and Spreadsheet software) are now moving to browser-based environments because of the many advantages of web-based applications (such as operating system/platform interdependency, interoperability with other systems, and collaborative possibilities).
JavaScript is the technology that's driving this evolution by giving web developers the capability to create complex, robust, interactive web page components and Rich Internet Applications (RIA) that respond effortlessly to user actions through a combination of techniques such as Ajax, on-the-fly DOM manipulation, and smooth, animated effects.
However, JavaScript isn't perfect (in fact, it's far from it), its syntax is sometimes unintuitive and repetitive, and often requires a great deal of code-authoring to perform complicated and cross-browser-compatible operations.
This is where MooTools steps in! By providing web developers with a set of useful and cross-browser-compatible functions, methods, and classes within an intuitive framework for writing client-side scripts, we can side-step a lot of frustration and time, typically associated with code-authoring in JavaScript:
In this chapter we shall:
So let's get on with it!
MooTools (which stands for My Object-Oriented "JavaScript" Tools) is a lightweight, modular, object-oriented JavaScript framework. It greatly speeds up and enhances the development cycle of feature-rich Ajax/JavaScript web applications. Created by Valerio Proietti—who originally intended it to be an extension to the Prototype JavaScript framework—MooTools has since grown into an independent, open-source, and very robust JavaScript framework with a solid team of core developers and thousands of users who support, contribute, and rabidly evangelize the project.
MooTools, in essence, abstracts normal JavaScript code so that you can write more terse and elegant client-side scripts. It has a host of useful functions, methods, and classes that'll let you develop robust web components and web applications.
The developers of MooTools strongly believe in applying Object-Oriented Programming (OOP) principles to JavaScript, a structural programming language. Since everything in JavaScript is an object, MooTools provides a cleaner, easier, and more elegant way to manipulate the object to our will. MooTools also helps make the JavaScript code cross-browser compatible.
The first thing we need to do is download a copy of MooTools from the official MooTools website (http://www.mootools.net).
It's important to note that, at the time of this writing, http://www.mootools.com is not associated with MooTools. If you've mistakenly navigated to mootools.com, don't worry, MooTools is alive and well. A simple Google search for "mootools" should result in http://mootools.net/.
What's great about MooTools is that it's extremely modular. You can—as I fondly refer to it—roll your own version of it by downloading only the components that you're going to use. This is important if you want to keep your web applications as light as possible.
For the purpose of this book, you should download the entire MooTools Core so that we can make sure we're all in the same page.
The following steps will help you to download and install MooTools Core:
