Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Chiamare funzione javascript

    Salve a tutti! Sono completamente nuovo del forum e di javascript, per cui spero di non dire o chiedere cose assurde!
    Sto modificando un template trovato online per un'app mobile. File .js ha tutte le funzioni implemetate per lo swipe che fa comparire il menu sulla destra. Io vorrei aggiungere un tasto 'Menu' che faccia comparire il menu senza scorrere. Quello che non riesco a capire è come chiamare la funzione dal codice html con cui creo il bottone, o semplicemente il link.

    Il file .js ha questa struttura:
    window.Menu = function (object) {
    ...
    function showMenu(e) {
    }
    ...
    }

    Nel file html alla fine del body c'è:
    new Menu(document.getElementById('bodyWrapper'));

    Ho provato ad inserire nel body:
    <div id="intestazione">
    <div class="fix">
    <h1><a href="#" onclick="javascript:showMenu()">Menu</a></h1>
    </div>
    </div>

    ma non funziona.
    Mi chiedo se sia possibile accedere direttamente alla funzione showMenu oppure, visto il new, devo farlo attraverso l'oggetto, ed eventualmente come fare.
    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    "javascript:nomefunzione();" si scrive all'interno dell href, nella onclick va solo "nomefunzione();"...

    (E nel tuo caso nomefunzione sarebbe Menu.showMenu)
    Ultima modifica di tampertools; 24-03-2014 a 23:43
    No

  3. #3
    Innanzitutto grazie per la risposta. Ho modificato la riga in questo modo:

    codice:
     <h1><a href="javascript:Menu.showMenu();" onclick="Menu.showMenu();">Menu</a></h1>
    ma non funziona...
    Ho provato a creare una semplice funzione al di fuori di window.Menu:

    codice:
     function myFunction()
        {
        alert("Hello World!");
        }
    
    window.Menu = function (object) {
    ...
    e chiamandola in questo modo funziona:

    codice:
    <h1><a href="#" onclick="myFunction();">Menu</a></h1>
    quindi mi viene da pensare che sia sbagliata la chiamata Menu.showMenu(). O sbaglio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Scusa, ho sbagliato io...
    Avevo confuso la funzione Menu con un oggetto...

    Le funzioni all interno di una funzione non mi sembra siano accessibili dall'esterno: prova a "tirarla fuori"
    No

  5. #5
    Penso di aver risolto. Ho fatto in modo di associare al bottone/link l'apertura e chiusura del menu direttamente nella funzione javascript, in modo che alla creazione dell'oggetto Menu, oltre a gestire tutti gli eventi touch e swipe, venga gestito anche il bottone/link.
    In questo modo funziona.

    Grazie comunque...

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.