Archivo para la categoría ‘Scriptaculous’

Monperla.es – Web totally developed using Ajax with prototype and scriptaculous

Saturday, 2 de August, 2008

Monperla, tienda de artículos de joyería de la perlaSince we began to post in this blog, we have been offering components and techniques to develop a site using Ajax. Today we are going to put everything together and we see how to get results that some time age was only possible using Flash.

The study case is Monperla, an online shop that sells pearl jewelry, now we only going to see the main corporate web since the new store is still under development.

If you have read this blog before you will note that the main aspect on this web is our e24Squares Ajax gallery component. This effect have been integrated in a way that each page is related to one image on the gallery and then when you load a new page the related image loads trough the e24Squares effect.

As you see each page loads asynchronically appearing with a fade effect. One important thing on this site is that we have take care of it to degrade gracefully when javascript is disable, then it going to be indexed by the search engines correctly. To accomplish that we have use the techniques explained in the post where we commented about the onDomReady event.

As we have remarked on previous posts, the ajax web sites use to have problems with the back button, then we have used the protoHistoryManager component released some days ago.

This site has other traditional Ajax effects like lighboxes, image rollovers, Font size increaser for accessibility, etc.

I hope this help to all of you that asked for practical examples of our components and tricks. Be free to notify me if you found any problem on the web site and let me know the browser version.

e24Squares - AJAX Pictures transition effect

Sunday, 4 de May, 2008

Intro

e24Squares - Galeria de fotose24Squares is an extension written for scriptaculous to make transitions between images with an original effect. This effect randomly generates squares that appear on different positions on the current image while the next image appears behind with a fade effect. The extension can be used as photo gallery, as slideshow, or as decorative animation in our web page.

Demos

Usage

Include Prototype 1.6.0.2 and Scriptaculous 1.8.1 in the HTML code header. Also include e24Squares after both:

<script type='text/javascript' src='js/prototype.js'></script>
<script type='text/javascript' src='js/scriptaculous.js?load=effects'></script>
<script type='text/javascript' src='js/e24squares.js'></script>

Next, write the necessary HTML code to define the gallery. We will need a container layer (”visor” on the example) and inside the container we will have an image for the first image in the gallery. Example below:

<!--e24Squares container -->
<div id="visor" >
	<img src="img/liberty.jpg" alt="imagen 1" />
</div>
<!-- End of e24Squares container -->

Finally, we write the necessary javascript code. As first param we will provide the container layer id (”visor”), and as second param an images filenames array and as the last one an option’s array.

oe24Squares = new e24Squares( 'visor', 
			    [ 'liberty.jpg', 'newyork2.jpg', 'mexico.jpg', 'newyork.jpg' ],
				{ 
					base: 'img/', 
					width: 640, 
					height: 300, 
					rows: 3, 
					cols: 5, 
					hideonfinish: true, 
					autostart: true, 
					duration: 1.0, 
					interval: 1.0 
				}
			);

Options

  • base: Relative path to the image directory. Default is the same directory as the web page
  • width: Width in pixels for the gallery visor.
  • height: Height in pixels for the gallery visor.
  • rows: Rows quantity in which the effect will divide the visor to form the random squares. Default value: 3
  • cols: Columns quantity in which the effect will divide the visor to form the random squares. Default value:5
  • duration: Decimal, representing the time in seconds that each transition between the current image and the next one will take. Default value: 1.0
  • interval: Decimal, representing the time in seconds that will take to begin the next image transition. Default value: 0.3
  • color: Represents the random squares color. Default value: #ffffff
  • autostart: Boolean, if set to “true” the animation starts automatically, if set to “false” then we will need to call start() method to initiate the animation or to call the transition() method to go to an specific image. Default value: “false”
  • hideonfinish: Boolean, if set to “true” then the visor will be hidden after showed the last photo, else the last photo will keep visible. Valor por defecto: false
  • callback: callback function that will be processed once the animation is complete. It is useful to concatenate animations.

Methods

  • start: No params needed. Initiates the slideshow if the effect object was created with the autostart option set to “false”.
  • transition((int)index, (function)pCallback): The first param is the picture index to show(the first is zero), the second param is a callback function that will be called once finished the transition.

oe24Squares.transition(2);

Known Issues

  • Ability to make the slideshow to play infinitely.

Download

e24Squares 0.2 beta (218 KB, including the demos)

e24TabMenu – AJAX Dropdown Tab Menu

Saturday, 5 de April, 2008

Introdution

e24TabMenu is a plugin written for scriptaculous. It is a tab menu that expands collapse smoothly.

Demos

Usage

Include Prototype 1.6.0.2 and Scriptaculous 1.8.1 in the HTML code header. Also include e24TabMenu after both:

<script type='text/javascript' src='js/prototype.js'></script>
<script type='text/javascript' src='/js/scriptaculous.js?load=effects'></script>
<script type='text/javascript' src='js/e24tabmenu.js'></script>

Next, write the necesary HTML code to define de menu. We will need a container layer (“menu” on the example) and inside the container we will have a layer for each menu item where we will add its content. After that, add links (html tag “A”) for each menu’s tab, the “rel” attribute value must be e24menuitem[layer_id] where layer_id is the id of the content layer (on the example “ítem_3d”, “ítem_gall”, “ítem_menu”, “ítem_efec”). Bellow the links we can add contents that will show when all tabs are collapsed.

<div id="menu" ><!---menu container--> 
  <div id="item_3d" class="menutarget"> 
    Contenido
  </div> 
 
  <div id="item_gall" class="menutarget"> 
    Contenido
  </div> 
 
  <div id="item_menu" class="menutarget"> 
    Contenido
  </div> 
 
  <div id="item_efec" class="menutarget"> 
    Contenido
  </div> 
 
  <!---tabs del menu--> 
  <a id="3d" href="#3d" rel="e24menuitem[item_3d]"><img src="img/3d.gif" alt="Efectos 3D" /></a> 
  <a id="gall" href="#galerias" rel="e24menuitem[item_gall]"><img src="img/galerias.gif" alt="Galeria de fotos AJAX" /></a> 
  <a id="menus" href="#menus" rel="e24menuitem[item_menu]" ><img src="img/menus.gif" alt="Efectos de Menus" /></a> 
  <a id="efec" href="#efectos" rel="e24menuitem[item_efec]"><img src="img/efectos.gif" alt="Otros efectos ajax" /></a> 
  <!---tabs del menu--> 
 
  <div id="maincontent"> 
    Contenido principal 
  </div><!--texto--> 
</div><!--menu container-->

Finally we write the necesary javascript code to define the menu. As first param we will pass the container layer id , and as second param an option’s array.

oe24TabMenu = new e24TabMenu( 'menu', { duration: 1.0, transition: Effect.Transitions.sinoidal } );

Options

  • duration: Decimal, representing the time in seconds that will take the menu item movement. Default value: 1.0
  • transition: Function that modifies each animation’s point: Effect.Transitions.sinoidal (default), Effect.Transitions.linear, Effect.Transitions.reverse, Effect.Transitions.wobble, Effect.Transitions.flicker
  • callback: callback function that will be processed once the animation is complete. It is useful to concatenate animations.

Methods

  • toggleMenu: Toggles the tab. Requieres the object reference of the corresponding link.
    oe24TabMenu.toggleMenu($('3d'));

Known Issues

  • Add more directions like, down-top, letf-right, right-left.

Download

e24TabMenu 0.8 beta (176 KB)

e24Writer - Timeline Fade Effect

Thursday, 20 de March, 2008

Intro

e24Writer is a plugin written for scriptaculous to gradually display a group of elements using a chained opacity transition. The elements can be either images, HTML or text.

Demos

Usage

Include Prototype 1.6.0.2 and Scriptaculous 1.8.1 in the HTML code header. Also include e24Writer after both.

<script type='text/javascript' src='js/prototype.js'></script>
<script type='text/javascript' src='/js/scriptaculous.js?load=effects'></script>
<script type='text/javascript' src='js/e24writer.js'></script>

For example, if we have text that we want to appear gradually letter-by-letter. First, we need to split the text into individual letters. If the text is a whole image then we need to split it in an image per letter basis.

Next, write the necessary HTML code to define the animation. We will need a container layer (”letters” on the example) and inside the container we will have a layer for each element. There is one layer per letter. Example below:

<div id="letters" >
		<div class="letter"><img src="img/letter1.jpg" alt="letra1" /></div>
		<div class="letter"><img src="img/letter2.jpg" alt="letra2" /></div>
		<div class="letter"><img src="img/letter3.jpg" alt="letra3" /></div>
		<div class="letter"><img src="img/letter4.jpg" alt="letra4" /></div>
</div>

Finally, we write the necessary javascript code. As first param we will provide the container layer id, and as second param an option’s array.

oe24Writer = new e24Writer( 'letters', { autostart: true, duration: 1.0, interval: 0.3 });

Options

  • autostart: Boolean, if set to “true” the animation starts automatically, if set to “false” then we will need to call start() method to initiate the animation. Default value: “false”
  • duration: Decimal, representing the time in seconds that each element transition will take. Default value: 1.0
  • interval: Decimal, representing the time in seconds that will take between each element transition. Default value: 0.3
  • callback: callback function that will be processed once the animation is complete. It is useful to concatenate animations.

Methods

  • start: No params needed. Initiates the animation if effect object was created with the autostart option set to “false”.

Known Issues

  • Add more direction, like right-left.
  • Ability to restart the animation.

Download

e24Writer 0.4.1 beta (71.33 KB)