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

    onClick attivare un effetto .js usando un semplice getElementById

    Buon pomeriggio a tutti...

    credevo di aver imparato a usare getElementById, ma evidentemente sono ancora indietro...

    ho un .js che rende "effettato" un menu (non imposta cosa fa esattamente, poniamo che applichi uno sfondo)

    quindi in HEAD avrei il richiamo:
    <script type="text/javascript" src="js/menu.js">

    però io vorrei avere un bottone che attiva/disattiva l'effetto sul menu...

    quindi che faccio?

    in HEAD metto così:
    <script type="text/javascript" id="jscript">

    e poi con un bottone faccio così:
    <input type="button" onclick="AttivaJs();">
    usando questo .js:
    <script type="text/javascript">
    function AttivaJs() {
    document.getElementById('jscript').src = 'js/menu.js';
    }
    </script>


    perché non mi funziona questo semplice getElementById?
    perché non posso assegnare ID a <script>?
    perché sbaglio sintassi?

    voi come fareste per rendere attivo/disattivo il .js menu.js?

    grazie in anticipo...

    :master:
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    eh, non funzionano cosi' le cose
    se vuoi che qualcuno possa dare un occhiata lascia un link alla pagina online

    ciao

  3. #3
    Ciao,
    Ciao,

    stavo cercando di capire il tuo problema;

    la prima sintassi che hai scrutto è quella corretta:
    <script type="text/javascript" src="js/menu.js">

    questo indica che le tue funzioni js vengono recuperate in un file esterno all'html o altro

    per attivare l'effetto menu devi creare un funzione generica (es.)

    non puoi cambiare file js al volo ma solamente gestire la funzione in modo che faccia ciò che vuoi;

    l'esempio sotto cambia lo sfondo del body da bianco a nero e viceversa


    <script>
    var my_switch=0;

    function Attiva_sfondo_menu ()
    {


    if (my_switch==0)
    {
    document.body.style.backgroundColor="rgb(000,000,0 00)";
    my_switch=1;
    }
    else
    {

    document.body.style.backgroundColor="rgb(255,255,2 55)";
    my_switch=0;
    }






    }

    </script>


    <html>


    <body style="background-color:#FFFFFF">

    <input name="aaa" type="button" onclick="Attiva_sfondo_menu();" />


    </body>
    </html>


    un saluto

  4. #4
    hai ragione Xinod...

    comunque, "spiando" con firebug ho visto che funziona perfettamente...
    nel senso che
    <script type="text/javascript" id="jscript"></script>
    viene trasformato in
    <script type="text/javascript" id="jscript" src="js/menu.js"></script>

    solo che poi c'è tutta una serie di conflitti... (che non sono in grado di comprendere a fondo né di risolvere...) perché il menu lo genero via innerhtml e solo dopo aver generato EFFETTIVAMENTE il markup sul server i conflitti spariscono (perché ottengo codice molto semplice con un unico .js) e lo script lavora come deve...

    ecco comunque il codice che ho utilizzato...
    se notate errori di sintassi e volete segnalarli fatelo pure... ma ai fini dell'uso che ne devo fare io considero la domanda chiusa...

    grazie e saluti


    codice:
    <html>
    <head>
    <script type="text/javascript" id="jscript"></script>
    
    <script type="text/javascript">
    function AttivaJs() {
    document.getElementById('jscript').src = 'js/menu.js';
    }
    </script>
    
    </head>
    
    <body>
    <input type="button" onclick="AttivaJs();">
    
    </body>
    </html>
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  5. #5
    scusate l'ulteriore up...
    ma volevo ringraziare pgonair perché ragionando in quel modo risolvo del tutto...

    saluti a tutti!!!!!!!!!!!!!
    e some sempre grazie mille
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

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 © 2024 vBulletin Solutions, Inc. All rights reserved.