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

    Togliere momentaneamente una funzione ad una funzione array()

    Salve, ad un evento onclick le seguenti funzioni si attivano:
    codice:
    onclick="aprilista2(), chiudilista1(), chiudilista(); chiudilista3();"
    Detto questo preciso che il mio problema non è sulle funzione che ho creato, piuttosto vorrei sapere come posso fare in modo che all'onclick su aprilista2() non avvenga anche chiudilista2().

    In ultimo vorrei precisare che le funzioni sono contenute in una funzione array(), per questo le ho incluse tutte nell'onclick, e non posso sostituirle con una selezione normale, perchè dovrei modificare troppi parametri.
    Mi interesserebbe una funzione per escludere dalla lista delle funzioni contenute nell'array(), tutti le funzioni contenenti nel nome il numero due, o per esempio la lettera b.
    In poche parole voglio privare l'array di una funzione, ma solo nel nomento della stampa.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non mi e' chiaro come tu possa fare click su una funzione... ed inoltre perche' non voglia eseguire una funzione che non e' nemmeno elencata fra quelle richiamate
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    La vera funzione sarebbe questa:
    codice:
    <script>function array(){chiudilista1(), chiudilista2(), chiudilista3();}</script>
    ... onclick="aprilista2(), array();"
    All'evento on click esegue aprilista2(), chiudilista1(), chiudilista2() e chiudilista3(), che sono ovviamente altre funzione che ho inizializzato prima.
    Le funzioni sono state create da me e sono semplicissime, funzionano al 100%.
    Il vero problema è che per ogni elemento "aprilistaN" della pagina devo creare altrettante N funzioni N array() che vadano a chiudere tutti gli elementi aperti tranne quello.
    Volevo semplicemente sapere un modo per poter escludere automaticamente il nome chiudilista con lo stesso numero di quello aprilista:
    ESEMPIO: se apro aprilista1(), l'array deve escludere automaticamente la funzione chiudilista1(), che altrimenti andrebbe a chiudere subito l'aprilista1() che si è appena aperto.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Si farebbe meglio ad esporre il problema da risolvere... non chiedere perche' la strada intrapresa e' sbagliata ma senza spiegare dove si vuole andare

    esempio didattico
    codice:
    <script>
    function aprichiudi(n) {
    	var tutti = document.getElementsByTagName("div");
    	for (var i=0;i<tutti.length;i++) {
    		c = tutti[i];
    		if(c.id.substr(0,5)=="lista") {
    			x = parseInt(c.id.substr(5));
    			c.style.display = (n==x) ? 'inline' : 'none';
    		}
    	}
    }
    </script>
    <body>
    1
    <div id="lista1" style="display:none;">contenuto1</div>
    
    2
    <div id="lista2" style="display:none;">contenuto2</div>
    
    3
    <div id="lista3" style="display:none;">contenuto3</div>
    </body>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Grazie pe rla risposta: sono riuscito a sistemare ieri pomeriggio lo scirpt che avevo creato, ma darò un'occhiata anche al tuo per vedere come funziona e se è migliore.

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