Jump to content

Script.aculo.us: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Updating Infobox (Removing unknown parameter 'status')
Tag: New redirect
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
#REDIRECT [[Prototype JavaScript Framework]]
{{multiple issues|
{{notability|Products|date=August 2014}}
{{one source|article|date=September 2007}}
}}
{{lowercase title}}


{{Rcat shell|
{{Infobox software
{{R to related topic}}
| name = script.aculo.us
| logo = Scriptaculous logo.png
| logo size = frameless
| developer = [[Thomas Fuchs (computer scientist)|Thomas Fuchs]]
| latest release version = 1.9.0
| latest release date = {{release date|2010|12|23}}
| genre = [[JavaScript library]]
| programming language = [[JavaScript]]
| license = [[MIT License]]
| website = {{Official URL}}
| discontinued = yes
}}
}}
{{Portal|Free and open-source software}}
'''script.aculo.us''' is a [[JavaScript]] library built on the [[Prototype JavaScript Framework]], providing dynamic visual effects and user interface elements via the [[Document Object Model]] (DOM).

It is most notably included with [[Ruby on Rails]] and [[Seaside (software)|Seaside]], but also provided separately to work with other [[web framework]]s and scripting languages.

script.aculo.us was extracted by Thomas Fuchs from his work on [[fluxiom]], a web based [[digital asset management]] tool by the design company [[wollzelle]].<ref name="interview-thomasf">[http://ajaxian.com/archives/audible-ajax-episode-12-thomas-fuchs-of-scriptaculous Ajaxian » Audible Ajax Episode 12: Thomas Fuchs of Script.aculo.us]</ref> It was first released to the public in June 2005.

==Features==

script.aculo.us extends the [[Prototype JavaScript Framework]] by adding visual effects, user interface controls, and utilities.

===Visual effects===

There are five core effects script.aculo.us offers: Opacity, Scale, MoveBy, Highlight, and Parallel. Through these effects there are over 16 additional effects using combinations of the core effects out of the box. Programmers can also extend existing and create new effects.

Enabling an effect is a matter of assigning an element with an ID name and one line of code for the effect. Below is an example for the Effect.Fade effect applied to a DOM element with an ID of 'message-box':

<syntaxhighlight lang="javascript">
new Effect.Fade('message-box');
</syntaxhighlight>

This will cause the target ID to fade in opacity and end by setting the CSS "display" property to "none".

Various other settings within the effect can be modified, such as the duration of the effect and the range of the effect:

<syntaxhighlight lang="javascript">
new Effect.Fade('message-box', {
duration: 2.0,
from: 0.0,
to: 0.8
});
</syntaxhighlight>

This would fade the element, but stop when the effect is 80% complete (with an opacity of 20%).

===Controls===

Controls offers user interface elements including:

* Drag And Drop
** Draggables
** Droppables
** Sortables
** Slider
* Autocompletion
* In Place Editing

===Builder===

Builder allows creating DOM elements dynamically. Using the sample code below:

<syntaxhighlight lang="javascript">
element = Builder.node('div',{id:'ghosttrain'},[
Builder.node('div',{className:'controls',style:'font-size:11px'},[
Builder.node('h1','Ghost Train'),
"testtext", 2, 3, 4,
Builder.node('ul',[
Builder.node('li',{className:'active', onclick:'test()'},'Record')
])
])
]);
</syntaxhighlight>

...creates the following (without [[whitespace character|whitespace]]):

<syntaxhighlight lang="html4strict">
<div id="ghosttrain">
<div class="controls" style="font-size:11px">
<h1>Ghost Train</h1>
testtext234
<ul>
<li class="active" onclick="test()">Record</li>
</ul>
</div>
</div>
</syntaxhighlight>

==References==
{{reflist}}

==External links==
* {{Official website}}
* {{GitHub|madrobby/scriptaculous}}
* [https://github.com/madrobby/scriptaculous/wikis script.aculo.us documentation wiki]
* [http://proto-scripty.wikidot.com/ Unofficial Prototype & Script.aculo.us wiki and FAQ] created by community members

{{ECMAScript}}
{{Web frameworks}}
{{Widget toolkits}}

{{Use mdy dates|date=April 2013}}

[[Category:JavaScript libraries]]
[[Category:Ajax (programming)]]
[[Category:Software using the MIT license]]
[[Category:Articles with example JavaScript code]]
[[Category:JavaScript web frameworks]]


{{Free-software-stub}}

Latest revision as of 09:45, 14 July 2021