script.aculo.us Arrastrar y soltar – Part 1

El módulo DragDrop se puede usar para hacer que cualquier elemento se pueda arrastrar o luego se puede colocar en una zona de colocación.

Hacer un elemento arrastrable: los elementos arrastrables se pueden crear creando una instancia arrastrable y luego identificando el elemento que se hará arrastrable

Sintaxis:

new Draggable( element_id, {options} );

Opciones arrastrables:

Opciones

Descripción

revertir

Se utiliza para especificar si un elemento debe volver a su posición original después de haber sido arrastrado.

siesta

Se utiliza para hacer que un elemento arrastrable restrinja sus movimientos.

zindex

Solía ​​especificar el índice z en la hoja de estilo CSS.

imagen fantasma

Se utiliza para especificar si el elemento debe clonarse en el área de colocación o moverse a ella.

restricción

Se utiliza para especificar las direcciones arrastrables.

resolver

Se utiliza para especificar el controlador para activar el arrastre.

efecto de inicio

 Se utiliza para definir la función que se llama cuando el elemento especificado comienza a arrastrarse.

efecto de reversión

se utiliza para definir la función que se llama cuando el elemento especificado revierte el arrastre.

efecto final

Se utiliza para definir la función que se llama cuando el elemento especificado deja de arrastrarse.

Opciones de devolución de llamada:

Opciones

Descripción

cambio

Similar a onDrag activado cuando cambia la posición del elemento.

en Inicio

Se activa cuando se inicia un arrastre.

al final

Se activa cuando finaliza un arrastre.

al arrastrar

Se activa continuamente mientras se arrastra el elemento y cambia la ubicación del mouse.

Ejemplo:

HTML

<!DOCTYPE html>
<html>
 
<head>
    <script type="text/javascript"
        src="prototype.js">
    </script>
     
    <script type="text/javascript"
        src="scriptaculous.js">
    </script>
     
    <script>
        var elements = ['element'];
        window.onload = function () {
            elements.each(function (item)
                { new Draggable(item); });
        }         
    </script>
</head>
 
<body>
    <img id="element" src="gfg.png" />
</body>
 
</html>

Producción:

Creación del área de colocación: ahora crearemos instancias que se pueden colocar para colocar el elemento en la zona de colocación.

Sintaxis:

Droppables.add( element_id, {options} );

Opciones desplegables:

Opciones

Descripción

Clase flotante

Se utiliza para crear una clase flotante activa en el área de colocación.

Contención

Solía ​​especificar la identificación del elemento que se puede arrastrar para que no se pueda colocar otro elemento en él.

Aceptar

Cuando es verdadero, solo permite que los elementos que tienen una o más propiedades CSS se suelten sobre él.

Superposición

Cuando se da una dirección (horizontal/vertical), permitirá que el usuario suelte solo el elemento.
Si se desborda más del 50% en la dirección indicada.

Codicioso

Permite la superposición de elementos arrastrables dentro de un área de colocación, el elemento arrastrable debajo de otro elemento no será visible.

Opciones de devolución de llamada:

Opciones

Descripción

en vuelo estacionario

Se activa cuando un elemento se desplaza sobre el área de colocación.

onDrop

Se activa cuando se suelta un elemento en el área de colocación.

Ejemplo:

HTML

<!DOCTYPE html>
<html>
 
<head>
    <script type="text/javascript"
        src="prototype.js">
    </script>
     
    <script type="text/javascript"
        src="scriptaculous.js">
    </script>
     
    <script>
        window.onload = function () {
            $A($('draggable').getElementsByTagName(
                'img')).each(function (item) {
                new Draggable(item, {
                    revert: true, ghosting: true
                });
            });
            Droppables.add('dropArea',
                { hoverclass: 'hoverActive',
                    onDrop: dropAppend }
            );
        }
 
        function dropAppend(draggable, dropArea) {
            draggable.parentNode.removeChild(draggable);
            dropArea.appendChild(draggable);
        }
    </script>
 
    <style>
        #dropArea {
            float: left;
            height: 125px;
            width: 435px;
            border: 3px ridge green;
            padding: 10px;
            float: left;
        }
 
        .hoverActive {
            background-color: #7cfa5c;
        }
 
        #draggable img,
        #dropArea img {
            border: 1px solid green;
        }
    </style>
</head>
 
<body>
    <div id="dropArea">
    </div>
    <div id="draggable">
        <img src="gfg.png" />
    </div>
</body>
 
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por swapnil074 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *