Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Spostare un Layer

  1. #1

    Spostare un Layer

    Salve, vorrei sapere come posso ricavare le coordinate (top & left) di un layer x "muoverlo" sullo schermo.

    Altra curiosità, è difficile renderlo trscinable dall'utente o bastano poke righe di codice ?

    :metallica
    La più grande forza a disposizione dell'umanità è la non violenza (Ghandi).
    (15/06/2003 - 16 points, 17 rembounds and 1 standing ovation x Admiral David Robinson ... San Antonio Spurs~ 2003/5 NBA champions)

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    ho trovato questo, e non sono poche righe :gren:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd">
    <html> 
    <head> 
    <title>PROVA</title> 
    <style type="text/css"> 
    <!--
    #myLayer { position: absolute; width: 200px; height: 100px; background: red; border: 1px solid #000 }
    .draggable { cursor: pointer; }
    -->
    </style>
    <SCRIPT LANGUAGE="JavaScript"> 
    var engaged = false;
    var offsetX = 0;
    var offsetY = 0;
    function dragIt(evt) {
     evt = (evt) ? evt : (window.event) ? window.event : "";
     var targElem = (evt.target) ? evt.target : evt.srcElement;
     if (engaged) {
      if (targElem.className == "draggable") {
       while (targElem.id != "myLayer" && targElem.parentNode) {
        targElem = targElem.parentNode;
       }
       if (evt.pageX) {
        targElem.style.left = evt.pageX - offsetX + "px";
        targElem.style.top = evt.pageY - offsetY + "px";
       } else {
        targElem.style.left = evt.clientX - offsetX + "px";
        targElem.style.top = evt.clientY - offsetY + "px";
       }
       return false;
      }
     }
    }
    
    function engage(evt) {
     evt = (evt) ? evt : (window.event) ? window.event : ""
     var targElem = (evt.target) ? evt.target : evt.srcElement;
     if (targElem.className == "draggable") {
      while (targElem.id != "myLayer" && targElem.parentNode) {
       targElem = targElem.parentNode;
      }
      if (targElem.id == "myLayer") {
       engaged = true;
       if (evt.pageX) {
        offsetX = evt.pageX - targElem.offsetLeft;
        offsetY = evt.pageY - targElem.offsetTop;
       } else {
        offsetX = evt.offsetX - document.body.scrollLeft;
        offsetY = evt.offsetY - document.body.scrollTop;
        if (navigator.userAgent.indexOf("Win") == -1) {
         offsetX += document.body.scrollLeft;
         offsetY += document.body.scrollTop;
        }
       }
       return false;
      }
     }
    }
    
    function release(evt) {
     evt = (evt) ? evt : (window.event) ? window.event : "";
     var targElem = (evt.target) ? evt.target : evt.srcElement;
     if (targElem.className == "draggable") {
      while (targElem.id != "myLayer" && targElem.parentNode) {
       targElem = targElem.parentNode;
      }
      if (engaged && targElem.id == "myLayer") {
       engaged = false;
      }
     }
    }
    document.onmousedown = engage;	
    document.onmouseup = release;
    document.onmousemove = dragIt;
    document.onmouseout = release;
    </script>
    </head> 
    
    <body> 
    <div id="myLayer" class="draggable"> </div>
    </body>
    </html>

  3. #3
    Grazie 1000 x l'aiuto pela...scusami se non t'ho risposto prima ma avevo fatto 1 casino e non m'ero accorto della risposta...

    Ora me lo studio

    La più grande forza a disposizione dell'umanità è la non violenza (Ghandi).
    (15/06/2003 - 16 points, 17 rembounds and 1 standing ovation x Admiral David Robinson ... San Antonio Spurs~ 2003/5 NBA champions)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.