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

    Json: come usare riferimenti interni?

    Ok, come molti dei miei titoli questo è abbastanza criptico ma credo che saper fare un buon titolo sia metà della soluzione di un problema.

    Ecco la question:

    Premetto che uso MooTools e queindi alcune "anomalie" sono dovute all'uso di questa libreria.

    Ho una serie di variabili di questo tipo:

    codice:
    	
    var mainMenuUlEl = 			$$("#mainmenu ul")[0];
    var mainMenuUlNormal = 		mainMenuUlEl.getStyle("width").toInt();
    
    var mainMenuLiEls = 		$$("#mainmenu li");
    var mainMenuLiAll= 			mainMenuLiEls.length-2;
    var mainMenuLiNormal=		(mainMenuUlNormal/mainMenuLiAll).toInt();
    var mainMenuLiFull= 		(mainMenuLiNormal*1.5).toInt();
    var mainMenuLiSmall= 		((mainMenuUlNormal-mainMenuLiFull)/(mainMenuLiAll-1)).toInt();
    	
    var mainMenuUlSmall = 		(mainMenuLiSmall*(mainMenuLiAll-1)+mainMenuLiFull);
    Vorrei fare qualcosa del genere:

    codice:
    var mainMenu = 
    {
    	ul:
    	{
    		el: $$("#mainmenu ul")[0],
    		normal: this.el.getStyle("width").toInt(),
    		small: this.li.small*(this.li.all-1).toInt()
    	},
    	
    	li:
    	{
    		el: $$("#mainmenu li"),
    		all: this.el.lenght-2, 
    		normal: (mainMenuUl.normal/this.all).toInt(),
    		full: this.normal*1.5,
    		small: (mainMenuUl.normal-this.full)/(this.all-1).toInt()
    	}
    }
    Non mi funziona

    se scrivo mainMenu.ul.el mi dice che mainmenu non ha un metodo ul o qualcosa di simile...

    ma non è solo questione dell'uso di "this" (della quale non ho capito ancora l'ambito), è anche una questione di sintassi sbagliata.

    MA scrivere tutte le variabili come le ho scritte io è veramente brutto!!!
    Arjuna

    finding solutions

  2. #2
    scusa ma JSON dov'è e/o cosa c'entra?

    non starai mica cercando di inviare il DOM via JSON, spero, giusto?

    se così, cambia titolo, non si capisce molto su quale sia il problema così :master:


    [edit]

    P.S. ... mentre crei un oggetto this non esiste, devi avere prima un oggetto per poi usare this ... (dentro metodi, non in assegnazione)

    codice:
    var none = {a:"a", b:this.a};
    
    alert(none.b);
    undefined
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Non lo sto usando per comunicare con altre applicazioni, uso solo il suo formato per allenarmi...

    Sinceramente credevo che Json fosse prima di tutto un tipo di notazione, per questo ho chiamato il post così, ma se sono in errore correggimi, il fatto è che in rete non trovo gran che circa il modo corretto di scrivere script javascript orientati agli oggetti


    Cmq, come faccio allora a richiamare all'interno di un metodo un metodo a lui fratello? (passmi il termine, sono in fase di studio)
    Arjuna

    finding solutions

  4. #4
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Il termine fratello è giusto...
    passi dal padre (parent) e arrivi fino al fratello...

  6. #6
    cosa c'entra l'articolo? non parla minimamente del riferimento this!!!
    Arjuna

    finding solutions

  7. #7
    Ovviamente parla di JSON che è il titolo del tuo post

    per this guarda qui
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    questo è moooolto più interessante

    ora però stacco e torno a casa, penso che ci riguarderò lunedì

    grazie
    Arjuna

    finding solutions

  9. #9
    qui il 5 e il sesto articolo per tutorials OOP con js.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Originariamente inviato da 99caos
    Non lo sto usando per comunicare con altre applicazioni, uso solo il suo formato per allenarmi...

    Sinceramente credevo che Json fosse prima di tutto un tipo di notazione, per questo ho chiamato il post così, ma se sono in errore correggimi, il fatto è che in rete non trovo gran che circa il modo corretto di scrivere script javascript orientati agli oggetti


    Cmq, come faccio allora a richiamare all'interno di un metodo un metodo a lui fratello? (passmi il termine, sono in fase di studio)

    Ti stai confondendo con la notazione dell'oggetto letterale.

    Ricavare un altra proprieta dell'oggetto letterale attraverso this non è difficile; modifico lo script di Andr3a per farti capire il principio:

    codice:
    var none = {a:"a", b:function() { return this.a; } };
    
    alert(none.b());
    "a"

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.