Cómo crear elementos HTML arrastrables
- Página anterior Puntos de quiebre de dispositivo típicos
- Página siguiente Consulta de medios JS
Aprende cómo usar JavaScript y CSS para crear elementos HTML arrastrables.
elemento DIV arrastrable
haga clic aquí y arrastre
mover
este
DIV
Crear el elemento DIV arrastrable
Primer paso - Añadir HTML:
<!-- DIV arrastrable --> <div id="mydiv"> <!-- Incluye un DIV de título con el mismo nombre que el DIV arrastrable, seguido de "header" --> <div id="mydivheader">haga clic aquí y arrastre</div> <p>mover</p> <p>este</p> <p>DIV</p> </div>
Segundo paso - Añadir CSS:
el estilo más importante es posición: absoluta
el resto está a su elección:
#mydiv { posición: absoluta; z-index: 9; color_fondo: #f1f1f1; borde: 1px sólido #d3d3d3; alineación: centro; } #mydivheader { padding: 10px; cursor: move; z-index: 10; background-color: #2196F3; color: #fff; }
Tercero - Añadir JavaScript:
// Hacer que el elemento DIV sea arrastrable: dragElement(document.getElementById("mydiv")); function dragElement(elmnt) { var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; if (document.getElementById(elmnt.id + "header")) { // Si existe, el título es la posición desde la que se mueve el DIV: document.getElementById(elmnt.id + "header").onmousedown = dragMouseDown; } else { // De lo contrario, mover el DIV desde cualquier posición dentro del DIV: elmnt.onmousedown = dragMouseDown; } function dragMouseDown(e) { e = e || window.event; e.preventDefault(); // Obtener la posición del cursor del ratón al inicio: pos3 = e.clientX; pos4 = e.clientY; document.onmouseup = closeDragElement; // Llamar a la función cada vez que el cursor se mueve: document.onmousemove = elementDrag; } function elementDrag(e) { e = e || window.event; e.preventDefault(); // Calcular la nueva posición del cursor: pos1 = pos3 - e.clientX; pos2 = pos4 - e.clientY; pos3 = e.clientX; pos4 = e.clientY; // Establecer la nueva posición del elemento: elmnt.style.top = (elmnt.offsetTop - pos2) + "px"; elmnt.style.left = (elmnt.offsetLeft - pos1) + "px"; } function closeDragElement() { // Al soltar el botón del ratón, detener el movimiento: document.onmouseup = null; document.onmousemove = null; } }
- Página anterior Puntos de quiebre de dispositivo típicos
- Página siguiente Consulta de medios JS