Visualizzazione risultati 1 fino 10 di 10

Discussione: tasto destro menu js

  1. #1
    Guest

    Predefinito tasto destro menu js

    Salve a tutti...
    sapete dirmi dove sbaglio....

    Codice PHP:
    <script type="text/javascript">
    var
    menu = '
    <div id="MenuTxDx">
    <a href="#" class="MenuTxDx">Pippo</a>
    <a href="#" class="MenuTxDx">Pluto</a>
    </div>'
    ;
    function
    ApriMenuTxDx(){
    menu.style.top = window.event.clientY;
    menu.style.left = window.event.clientX;
    menu.style.visibility = "Visible";
    }
    function
    ChiudiMenuTxDx(){
    menu.style.visibility = "Hidden";
    }
    </script>

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Queste funzioni sono associate a qualche evento (oncontextmenu, onmousedown)?

    E comunque in javascript per continuare una riga a capo devi mettere un escape (\):
    Codice PHP:
    var menu = '\
    <div id="MenuTxDx">\
    <a href="#" class="MenuTxDx">Pippo</a>\
    <a href="#" class="MenuTxDx">Pluto</a>\
    </div>'
    ;

  3. #3
    Guest

    Predefinito

    lo provato non funziona lo stesso...
    Codice PHP:
    <script type="text/javascript">
    var
    menu = '\
    <div id="MenuTxDx">\
    <a href="#" class="MenuTxDx">Pippo</a>\
    <a href="#" class="MenuTxDx">Pluto</a>\
    </div>'
    ;
    function
    ApriMenuTxDx(){
    menu.style.top = window.event.clientY;
    menu.style.left = window.event.clientX;
    menu.style.visibility = "Visible";
    }
    function
    ChiudiMenuTxDx(){
    menu.style.visibility = "Hidden";
    }
    </script>

    <body oncontextmenu="ApriMenuTxDx(); return false;" onclick="ChiudiMenuTxDx()">

  4. #4
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Così come è ora lo script penso funzioni solo su IE (vedi event...)

    P.S. Solo ora mi sono reso conto che menu non è un oggetto ma una semplice stringa ...

  5. #5
    Guest

    Predefinito

    ma neanche con Ie...
    Codice PHP:
    <style type="text/css">
    body{
    background: #000000;
    }
    div{
    font-size: 11px;
    font-family: Verdana;
    }
    #MenuTxDx{
    position: Absolute;
    visibility: Hidden;
    background: #E0E0E0;
    padding: 3px 3px 3px 3px;
    width: 100px;
    border: Solid 1px #AAAAAA;
    }
    a.MenuTxDx{
    display: Block;
    position: Relative;
    background: #E0E0E0;
    color: #000000;
    text-decoration: None;
    padding: 3px 3px 3px 3px;
    border: Solid 1px #E0E0E0;
    }
    a.MenuTxDx:hover{
    display: Block;
    position: Relative;
    background: #336699;
    color: #FFFFFF;
    text-decoration: None;
    padding: 3px 3px 3px 3px;
    border: Solid 1px #000000;
    }
    </
    style>

    <
    script type="text/javascript">
    var
    menu = '\
    <div id="MenuTxDx">\
    <a href="#" class="MenuTxDx">Pippo</a>\
    <a href="#" class="MenuTxDx">Pluto</a>\
    </div>'
    ;
    function
    ApriMenuTxDx(e){
    menu.style.top = e.clientY;
    menu.style.left = e.clientX;
    menu.style.visibility = "Visible";
    }
    function
    ChiudiMenuTxDx(){
    menu.style.visibility = "Hidden";
    }
    </script>

    <body oncontextmenu="ApriMenuTxDx(event); return false;" onclick="ChiudiMenuTxDx()">

  6. #6
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da mycarlo Visualizza messaggio
    P.S. Solo ora mi sono reso conto che menu non è un oggetto ma una semplice stringa ...
    Non so se hai letto questo.
    La variabile menu non è un oggetto (DOM) ma come ti ho detto una semplice stringa.

    Se vuoi creare un oggetto, devi usare document.createElement, appendChild (in pratica DOM).

    Codice:
    window.onload = function() {
        var menu = document.createElement("ul");
        menu.innerHTML = '<a href="#" class="MenuTxDx">Pippo</a>\
    <a href="#" class="MenuTxDx">Pluto</a>'; // per essere veloci...
        menu.style.visibity = 'Hidden';
    
        document.body.appendChild(menu);
    }
    P.S. Oppure lo crei direttamente con HTML, gli assegni un id, imposti la visibilità a hidden e poi accedi all'elemento tramite document.getElementById
    Ultima modifica di mycarlo : 16-02-2010 alle ore 20.46.46

  7. #7
    Guest

    Predefinito

    pero non funziona come vorrei io...
    io volevo fare che quando l'utente clicca sulla pagina in qualsiasi punto x-y in quei determinati punti venga visualizzato un menu creato da me...

  8. #8
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice:
    function ApriMenuTxDx(e){
    menu.style.top = e.clientY + "px";
    menu.style.left = e.clientX + "px";
    menu.style.visibility = "Visible";
    }
    Questa funzione dovrebbe farlo...

  9. #9
    Guest

    Predefinito

    non funziona...
    errore e qui
    menu.style.top = e.clientY + "px";
    e qui
    menu.style.visibility = "Hidden";
    Codice PHP:
    <style type="text/css">
    body{
    background: #000000;
    }
    div{
    font-size: 11px;
    font-family: Verdana;
    }
    #MenuTxDx{
    position: Absolute;
    visibility: Hidden;
    background: #E0E0E0;
    padding: 3px 3px 3px 3px;
    width: 100px;
    border: Solid 1px #AAAAAA;
    }
    a.MenuTxDx{
    display: Block;
    position: Relative;
    background: #E0E0E0;
    color: #000000;
    text-decoration: None;
    padding: 3px 3px 3px 3px;
    border: Solid 1px #E0E0E0;
    }
    a.MenuTxDx:hover{
    display: Block;
    position: Relative;
    background: #336699;
    color: #FFFFFF;
    text-decoration: None;
    padding: 3px 3px 3px 3px;
    border: Solid 1px #000000;
    }
    </
    style>

    <
    script type="text/javascript">
    var
    menu = '<div id="MenuTxDx"><a href="#" class="MenuTxDx">Pippo</a><a href="#" class="MenuTxDx">Pluto</a></div>';
    function
    ApriMenuTxDx(e){
    menu.style.top = e.clientY + "px";
    menu.style.left = e.clientX + "px";
    menu.style.visibility = "Visible";
    }
    function
    ChiudiMenuTxDx(){
    menu.style.visibility = "Hidden";
    }
    </script>

    <body oncontextmenu="ApriMenuTxDx(event); return false;" onclick="ChiudiMenuTxDx()">

  10. #10
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Si, hai ragione.
    Non funziona perchè menu non è globale.

    Codice:
    var menu;
    
    window.onload = function() {
        menu = document.createElement("ul");
        menu.innerHTML = '<a href="#" class="MenuTxDx">Pippo</a>\
    <a href="#" class="MenuTxDx">Pluto</a>'; // per essere veloci...
        menu.style.visibity = 'Hidden';
    
        document.body.appendChild(menu);
    }

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •