Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Array che si mescolano

  1. #1

    Array che si mescolano

    Ho due funzioni javascript, entrambe hanno
    var nomearray = new Array('...
    var nomearray2 = new Array('...
    Ma mi rendo conto che quando si chiamano una delle due, si incasinano.
    Esiste un modo per renderle "ermetiche" una all'altra?
    Si, sono un ignorante in javascript lo ammetto...
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  2. #2

    Re: Array che si mescolano

    Originariamente inviato da freezone
    mi rendo conto che quando si chiamano una delle due, si incasinano.
    impossibile

    l'unica cosa che può accadere è che all'interno di entrambi c'è la stessa variabile instanceof Object ... se sono numeri, stringhe, boolean, function quanto dici non può verificarsi.

    mostra altro codice altrimenti la vedo dura
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Questa è la pagina in questione.
    Il ticker che scorre le due news in testata funziona.
    Non appena clicco su uno dei tab che richiama la funzione "mostratab" comincia a darmi nel ticker "undefined"
    La funzione mostratab è la seguente:

    codice:
    	function mostratab(indice) {
    		var arrtabs = new Array('tecnica', 'filmato', 'videoguide', 'confronti', 'commenti', 'aiuto', 'sconto');
    		for (i=0; i<arrtabs.length; i++) {
    			document.getElementById('default').style.display='none';
    			if(i==indice) {
    				document.getElementById(arrtabs[i]).style.display='';
    				document.getElementById('tab_'+i).style.backgroundImage='url(/Immagini/button_scheda_tecnica_selected.png)';
    			} else {
    				document.getElementById(arrtabs[i]).style.display='none';
    				document.getElementById('tab_'+i).style.backgroundImage='url(/Immagini/button_scheda_tecnica.png)';
    			}
    		}
    		document.getElementById('tab_6').style.backgroundImage='url(/Immagini/button_sconto.gif)';
    	}
    Serve semplicemente ad aprire i tab e a cambiare lo sfondo del pulsante del tab in modo da simulare la linguetta in primo piano. Scusate il casino.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  4. #4
    Ho risolto ho capito che usava "i" per l'indice dell'array in entrambe.
    Ho cambiato con "k" in quella mostratab
    Grazie a tutti.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  5. #5
    Originariamente inviato da freezone
    Ho risolto ho capito che usava "i" per l'indice dell'array in entrambe.
    Ho cambiato con "k" in quella mostratab
    non hai risolto perchè non hai capito che i cicli for che inizializzano una variabile indice devono usare il var ... quindi non hai ben compreso lo scope delle funzioni, fondamentale in JavaScript.


    for (i=0; i<arrtabs.length; i++) ... sbagliato
    for (var i=0; i<arrtabs.length; i++) ... corretto e ne usi quante vuoi di i.
    Inoltre eviti di modificare globalmente la i a tutti gli script che ignorano erroneamente il problema.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    grazie questa spiegazione mi piace di più della mia pseudointuizione.
    Ciao
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

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.