Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441

    Problema di sintassi: funzione dentro document.write

    Perché non mi esegue la funzione w() ?

    codice:
    document.write("<div id='c"+i+"' class='cub' style='margin: "+y+" 0 0 "+x+"'",
    	"onmouseover=\"this.style.opacity='0.3'\"",
    	"onmouseout=\"this.style.opacity='1'\">",
    		""+z+w()+"",
    "</div>");

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    - le stringhe non si separano con la virgola ma con il +
    - definire eventi inline non è una buona pratica, inserirli poi con un document.write mi sembra poco ortodosso
    - non si capisce cosa contengano x e y e cosa siano w e z
    - non è chiaro nemmeno cosa ti aspetti che succeda scrivendo ""+z+w()+"" se non stampare (forse) un qualche output

    puoi spiegare cosa stai cercando di fare, dando tutte le info necessarie?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    E dove dovrei inserirli per definirli nel div gli eventi?

    Le variabili x, y, z, w, d, s, a contengono un intero, ora ti posto tutto il codice:

    codice:
    	
    	r = new Array();
    		
    		r[0] = new Array();
    		r[1] = new Array();
    		
    			r[0][0] = 5;
    			r[0][1] = 5;				
    			r[0][2] = 5;
    			
    			r[0][3] = 0;
    			r[0][4] = 0;
    			r[0][5] = 0;
    			r[0][6] = 0;
    			
    			
    			r[1][0] = 4;
    			r[1][1] = 5;				
    			r[1][2] = 2;
    			
    			r[1][3] = 1;
    			r[1][4] = 1;
    			r[1][5] = 1;
    			r[1][6] = 1;
    			
    	n = r.length;
    					
    	for (i = 0; i < n; i++) {
    		
    		x = r[i][0] * 50; 
    		y = r[i][1] * 50; 
    		z = r[i][2];
    		
    		w = r[i][3];
    		d = r[i][4];
    		s = r[i][5];
    		a = r[i][6];
    	
    		document.write("<div id='c"+i+"' class='cub' style='margin: "+y+" 0 0 "+x+"'"+
    			"onmouseover=\"this.style.opacity='0.3'\""+
    			"onmouseout=\"this.style.opacity='1'\">"+
    				""+z+""+
    			"</div>");
    					
    	}
    		
    	function w() {		
    		if (w == 1) {		
    			document.write("<div id='w'></div>");		
    		}
    	}
    In poche parole, ho un array che contiene n array: in questi sono presenti degli interi dove x è la posizione x sulla pagina web, y la y del div, mentre z è semplicemente un numero che deve essere stampato dentro.

    Poi ho un ciclo for che mi permette di stampare tanti div su questa pagina web sotto forma di griglia quanti array sono presenti dentro all'array principale r.

    In questa operazione vorrei che se w è 1 venisse stampato un div, il div w: stessa cosa per d, s ed a

  4. #4
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    Cioè, come posso eseguire la funzione w() dentro il ciclo for, dentro il document.write?

    Esempio:
    codice:
    n = 2;
    
    function w() {
    	if (w == 1) {
    		document.write("TEST");
    	}
    }
    	
    for (i = 0; i < n; i++) {
    	
    	z = 4;
    	w = 1;
    	
    	document.write("<div>"+z+w()+"</div>");
    
    }

  5. #5

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.