Mi 2º tutorial, pero ahora de Mootools
Hace mucho tiempo que queria hacer un tutorial de mootools, entonces me puse a buscar un buen tema y lo encontre, este tuto tiene como fin el siguiente efecto llamado Fx.Morph by wydblog: Cuando uno lo ve piensa que es muy dificil, pero en realidad es muy sencillo. Pasemos al paso a paso:
1º Bajamos el javascript necesario para que este efecto funcione de mootools o pueden bajarlo desde aquÃ.
2º Una vez que tenemos el archivo necesario, debemos crear nuestro html y nuestro css, primero establezcamos el html:
-
morph2</a>
-
<div id="morpher" class="morph1">
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
-
et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
-
aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
-
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
-
qui officia deserunt mollit anim id est laborum.</div>
3º ahora nos falta establecer el css, que lo llamaremos style.css:
-
.morph1 {
-
color:#CCCCCC;
-
background-color:#FF9900;
-
height: 200px;
-
width: 300px;
-
font-size: 15px;
-
font-family:Arial, Helvetica, sans-serif;
-
overflow: hidden;
-
opacity: 1;
-
border: 2px solid #aaa;
-
margin: 0;
-
padding: 5px;
-
}
-
-
.morph2 {
-
color: #000;
-
background-color:#0066FF;
-
height: 100px;
-
width: 400px;
-
font-size: 12px;
-
opacity: 0.7;
-
margin: 60px;
-
padding: 35px;
-
border: 10px solid #000;
-
font-family:Arial, Helvetica, sans-serif;
-
}
4º Y por último y no menos importante en el head, debemos insertar los siguientes codigos, primero adjuntemos nuestra hoja de estilo y el javascript de mootools:
y luego especificamos las caracteristicas de la transformación, tambien en el head:
-
<script type="text/javascript">
-
window.addEvent('domready', function(){
-
Fx.Morph = Fx.Styles.extend({
-
-
start: function(className){
-
-
var to = {};
-
-
$each(document.styleSheets, function(style){
-
var rules = style.rules || style.cssRules;
-
$each(rules, function(rule){
-
if (!rule.selectorText.test('\.' + className + '$')) return;
-
Fx.CSS.Styles.each(function(style){
-
if (!rule.style || !rule.style[style]) return;
-
var ruleStyle = rule.style[style];
-
to[style] = (style.test(/color/i) && ruleStyle.test(/^rgb/)) ? ruleStyle.rgbToHex() : ruleStyle;
-
});
-
});
-
});
-
return this.parent(to);
-
}
-
-
});
-
-
Fx.CSS.Styles = ["backgroundColor", "backgroundPosition", "color", "width", "height", "left", "top", "bottom", "right", "fontSize", "letterSpacing", "lineHeight", "textIndent", "opacity"];
-
-
Fx.CSS.Styles.extend(Element.Styles.padding);
-
Fx.CSS.Styles.extend(Element.Styles.margin);
-
-
Element.Styles.border.each(function(border){
-
['Width', 'Color'].each(function(property){
-
Fx.CSS.Styles.push(border + property);
-
});
-
});
-
-
var myMorph = new Fx.Morph('morpher', {wait: false});
-
-
$('morph1').addEvent('click', function(e){
-
new Event(e).stop();
-
-
myMorph.start('morph1');
-
-
});
-
-
$('morph2').addEvent('click', function(e){
-
new Event(e).stop();
-
-
myMorph.start('morph2');
-
-
});
-
});
-
</script>
Y listo, ya tenemos nuestro efecto Morph funcionando a la perfección, espero haber sido conciso y directo, me gustaria poder leer su opinion sobre el tutorial. Por cualquier duda o consulta ya saben como hacerlo, pueden dejarme un comentario, dirigirse a la sección de contacto o mandenme un mail y pregunten por lucas xD!
Bueno, me despido, saludos,
Lucas.
- Permanent Link
- Autor:Lucas
- September 5th, 2007
- 2 Comentarios
- Categoria/as del articulo:Diseño, Javascript, Css, Tutoriales
- Digg - Menéame - del.icio.us - Fresqui - Mister Wong





September 7th, 2007 a las 3:06 am
Me pregunto, ¿este ejemplo no es el mismo que esta aqui? ¿y el tutorial?
September 7th, 2007 a las 8:16 pm
Justamente Juan, mi función en este tutorial no es complicada, lo unico que hice yo fue de alguna forma “traducir” el tutorial para aquellos que no saben manejar bien el sistema y de esta forma puedan entenderlo mejor.
Espero haberte respondido la pregunta.
Saludos.