Drag and drop usando Scriptaculous (1)
JMiur Una de las tantas posibilidades de script.aculo.us es el uso de las funciones de Drag and Drop. No es algo que tenga una gran utilidad práctica pero es bastante sencillo de usar.
Para probarlas, debemos seguir el mismo procedimiento que con los efectos; descargar las librerías, alojarlas en un servidor propio y cargarlas en nuestra plantilla. Empecemos con esto ya que es una pregunta repetida y hay varias alternativas.
Si no tenemos nada, debemos de empezar descargando el ZIP que contiene todos los archivos necesarios y luego alojarlos en un servidor propio. Como mínimo, necesitaremos los siguientes scripts:
prototype.js
scriptaculous.js
effects.js
dragdrop.js
el resto son optativos; cada uno de ellos se utiliza para poder implementar funciones especiales (builder.js, controls.js, slider.js, sound.js).
Los agregamos a la plantilla, justo antes de </head>:
Para probarlas, debemos seguir el mismo procedimiento que con los efectos; descargar las librerías, alojarlas en un servidor propio y cargarlas en nuestra plantilla. Empecemos con esto ya que es una pregunta repetida y hay varias alternativas.
Si no tenemos nada, debemos de empezar descargando el ZIP que contiene todos los archivos necesarios y luego alojarlos en un servidor propio. Como mínimo, necesitaremos los siguientes scripts:
prototype.js
scriptaculous.js
effects.js
dragdrop.js
el resto son optativos; cada uno de ellos se utiliza para poder implementar funciones especiales (builder.js, controls.js, slider.js, sound.js).
Los agregamos a la plantilla, justo antes de </head>:
<script type="text/javascript" src="URL_prototype.js"></script>
<script type="text/javascript" src="URL_scriptaculous.js?load=effects,dragdrop"></script>
Si ya tenemos alguno de los módulos en uso, por ejemplo porque usamos LightWindow, basta agregar dragdrop.js en la llamada:
<script type="text/javascript" src="URL_scriptaculous.js?load=effects,dragdrop"></script>
Una segunda alternativa si nos queremos ahorrar el trabajo de alojar los archivos es utilizar las librerías de Google. Este es el método más sencillo si se trata de hacer pruebas rápidas ya que basta agregar antes de </head>:
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("prototype", "1.6.0.2");
google.load("scriptaculous", "1.8.1");
</script>
De esta manera se cargarán todos los módulos que existan.
Una última posibilidad es usar Protoculous que es una librería comprimida y que en un solo archivo nos permite usar todas las funciones [más información]
Bueno, ahora que ya tenemos los scripts, vamos a ver como funcionan.
Una última posibilidad es usar Protoculous que es una librería comprimida y que en un solo archivo nos permite usar todas las funciones [más información]
Bueno, ahora que ya tenemos los scripts, vamos a ver como funcionan.
Para hacer que un elemento sea "arrastrable" basta crearlo con la clase Draggable e identificarlo utilizando el atributo ID. La sintaxis general es esta:
new Draggable(elemento);
Suena complicado pero no lo es, bastan dos líneas de código; por ejemplo:
new Draggable(elemento);
Suena complicado pero no lo es, bastan dos líneas de código; por ejemplo:
<div id="demo"> [ ... el contenido ... ] </div>
<script type="text/javascript"> new Draggable('demo'); </script>
Este es un ejemplo sencillo usando un DIV donde sólo hay un texto:
La palabra MOVER se puede arrastrar.
<div style="text-align: center;font-size:17px;">
La palabra
<span id="demo1" style="color:#FF0000;font-weight:bold;cursor:move;">MOVER</span>
se puede arrastrar.
</div>
<script type="text/javascript">new Draggable('demo1');</script>
MOVER
Lo mismo podríamos hacer con una imagen, un DIV o cualquier otro elemento siempre que le demos un ID único.
<img id="demo2" src="URL_imagen"/>
<script type="text/javascript">new Draggable('demo2');</script>
En todos los casos, basta colocar un script después del elemento pero también podemos agregarle algunas opciones para controlarlo:
<script type="text/javascript">
new Draggable(IDelemento, opciones);
</script>
MOVER
revert (por defecto es false) si la establecemos como true el elemento vuelve a su posición original cuando lo soltamos (eventualmente, también puede ser otra función):
new Draggable('demo', {revert:true} );
new Draggable('demo', {revert:true} );
MOVER
snap (por defecto es false) hace que el objeto se mueva dentro de una cierta grilla es decir, "saltando" canda cierta cantidad de pixeles. Para esto usamos [x, y] si queremos indicar ambos:
new Draggable('demo', {snap: [100, 50]} ); se mueve cada 100 pixeles horizontales y 50 pixeles verticales
new Draggable('demo', {snap: [100, 50]} ); se mueve cada 100 pixeles horizontales y 50 pixeles verticales
zindex (por defecto es 1000) indica la propiedad CSS z-index del elemento cuando lo arrastramos; esto hace que aparezca "por encima" de todos los otros elementos de la página; al soltarlo vuelve a tener su valor normal.
MOVER
ghosting (por defecto es false) indica si el elemento original se verá o no mientras lo arrastramos. Para verlo debemos poner el valor en true:
new Draggable('demo', {ghosting:true} );
new Draggable('demo', {ghosting:true} );
constraint es una de las formas en que podemos limitar el desplazamiento y por defecto no está definida. Hay dos posibilidades:
new Draggable('demo', {constraint:"horizontal"} );
new Draggable('demo', {constraint:"vertical"} );
new Draggable('demo', {constraint:"horizontal"} );
new Draggable('demo', {constraint:"vertical"} );
MOVER
handle normalmente, a un elemento lo arrastramos desde si mismo, es decir, haciendo click sobre él pero podemos usar esta opción para indicar otro elemento para esto. De alguna manera, es lo que hacen muchos controles como los llamados sliders.
new Draggable('demo', {handle:'barraDesplazamiento',constraint:'horizontal'});
new Draggable('demo', {handle:'barraDesplazamiento',constraint:'horizontal'});
LO MOVEMOS HORIZONTALMENTE CON ESTE
starteffect, endeffect y reverteffect definen funciones que podemos llamar al comenzar a arrastra un elemento o al soltarlo.
new Draggable('demo', {starteffect: unaFuncion('demo')} );
new Draggable('demo', {endeffect: otraFuncion('demo')} );
new Draggable('demo', {starteffect: unaFuncion('demo')} );
new Draggable('demo', {endeffect: otraFuncion('demo')} );
También hay una serie de funciones predefinidas o eventos (callbacks) que pueden llamarse dentro de las opciones.
onStart se ejecuta cuando comenzamos a arrastar el objeto
onDrag se ejecuta mientras arrastamos el objeto
change se ejecuta cuando cambiamos la posición original del objeto
onEnd se ejecuta cuando soltamos el objeto
onStart se ejecuta cuando comenzamos a arrastar el objeto
onDrag se ejecuta mientras arrastamos el objeto
change se ejecuta cuando cambiamos la posición original del objeto
onEnd se ejecuta cuando soltamos el objeto
MOVER
Si queremos deshabilitar un elemento, es decir, hacer que ya no sea "arrastrable" y que vuelva a su posición original debemos usar una variable para crearlo y luego, "destruirlo
var unNombre = new Draggable('demo', {revert: true});
.......
unNombre.destroy();
Una forma muy sencilla de limitar los movimientos es colocar los elementos "arrastrables" dentro de un DIV al que le damos propiedades CSS especiales para que todo lo que se salga de él, no se vea:
<div style="border:1px solid #444444; height:250px; overflow:hidden; position:relative;
margin:10px auto; width:450px;">
<img style="cursor:move; position:absolute; left:10px; top:10px;"
id="demoIMG1" src="URL_imagen1" />
<img style="cursor:move; position:absolute; left:390px; top:10px;"
id="demoIMG2" src="URL_imagen2" />
<img style="cursor:move; position:absolute; left:10px; top:190px;"
id="demoIMG3" src="URL_imagen3" />
<img style="cursor:move; position:absolute; left:390px; top:190px;"
id="demoIMG4" src="URL_imagen4" />
</div>
<script type="text/javascript">
new Draggable('demoIMG1');
new Draggable('demoIMG2');
new Draggable('demoIMG3');
new Draggable('demoIMG4');
</script>
TABLA - FUENTES - FONTS
SOUV2
- SOUV2P.TTF - 57 KB
- SOUV2I.TTF - 59 KB
- SOUV2B.TTF - 56 KB
- SOUV2T.TTF - 56 KB
- bai_____.ttf - 46 KB
- babi____.ttf - 47 KB
- bab_____.ttf - 45 KB
- balaram_.ttf - 45 KB
- SCAGRG__.TTF - 73 KB
- SCAGI__.TTF - 71 KB
- SCAGB__.TTF - 68 KB
- inbenr11.ttf - 64 KB
- inbeno11.ttf - 12 KB
- inbeni11.ttf - 12 KB
- inbenb11.ttf - 66 KB
- indevr20.ttf - 53 KB
- Greek font: BibliaLS Normal
- Greek font: BibliaLS Bold
- Greek font: BibliaLS Bold Italic
- Greek font: BibliaLS Italic
- Hebrew font: Ezra SIL
- Hebrew font: Ezra SIL SR
Disculpen las Molestias
TABLA - INFORMÁTICA - UTILIDADES
- 2011
- enero 2011 (25 posts)
- Oloblogger
- Vagabundia
- CSS3 GENERATOR - OLOBLOGGER
- HAGA SU PROPIA MUSICA
- Vagabundia
- 100 packs de íconos surtidos - Vagabundia
- tablas en css
- Curvas y redondeces - Vagabundia
- Vagabundia
- Oloblogger
- Vagabundia
- 3.9. The background-size’ property - w3.org
- Patterns con CSS3
- Oloblogger
- Usar JSON para mostrar Twitter - Vagabundia
- Sliderman: Un script para hacer sliders sin librer...
- Thought of you - Vagabundia
- Efecto cinta adhesiva en imágenes - Oloblogger
- Bloggers - Vagabundia
- BigImg: Otra forma de insertar imágenes gigantes -...
- Vagabundia: : “Los parámetros de los feeds de Blog...
- Alojar scripts para Blogger Edición rápida - OLOBL...
- Plugins sociales aleatorios para Facebook
- Fire - shadow
- Neon - shadow
- 2010
- diciembre
- efecto de linterna de Zachary Johnson en www.zachs...
- Shadow - Sombreados en los Textos - Vagabundia
- 4. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 2. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- octubre
- septiembre
- julio
- junio
- mayo
- HTML ASCII Reference - The ASCII Character Set
- Typing Arabic and Farsi Numerals
- Smoothing Screen Fonts
- Outlook 2000
- Outlook Express 5
- Netscape Messenger 4.7
- Netscape
- Internet Explorer
- Windows XP: Language Settings
- Windows 2000: Language Settings
- General Unicode Information
- General Farsi Unicode Information
- Unicode in Internet Explorer 5, 5.5 and 6
- Unicode in Firefox for Windows
- UNICODE - Internet Explorer
- abril
- marzo
- Porque no me abre el disco local c
- Glosario Informático (H-Z)
- Glosario Informático (C-G)
- Glosario Informático (A-B)
- febrero
- Direcciones about: FIREFOX
- ASCII codes table - Format of standard characters
- 24 Character entity references in HTML 4
- Table of character entity references in HTML 4
- HTML Codes
- Index of Elements - Html
- ISO 639. Code for the representation of the names ...
- ASCII stands for American Standard Code
- enero
- 2009
- CUADRO GENERAL CONTENIDO MITOLOGÍA Y RELIGIÓN
- MITOLOGÍA HINDÚ
- Conceptos Hinduistas (1428)SC
- Category:Hindu (mythology) (3256)SC
- Category:Hindu mythology (3270)SC
- Categoría:Mitología hindú (3288)SC (indice)
- Categoría:Mitología hindú (videos) (3289)SC
- Conceptos Hinduista (A - G) SK y SC (videos) (3294)SC
- Conceptos Hinduistas (2919)SK · (2592)SK
- JUDAISMO
- VAISHNAVISMO
- Ärî Garga-Samhita
- Oraciones Selectas al Señor Supremo
- Devotees Vaishnavas
- Dandavat pranams - All glories to Srila Prabhupada
- Hari Katha
- SWAMIS VAISHNAVAS
- DEVOTOS VAISHNAVAS - FACEBOOK
- Santos Católicos
- EGIPTO
- Archivo Cervantes
- Sivananda Yoga
- Neale Donald Walsch
- ENCICLOPEDIA - INDICE
No hay comentarios:
Publicar un comentario