Pagina 7 di 7 primaprima ... 5 6 7
Visualizzazione dei risultati da 61 a 64 su 64
  1. #61
    Originariamente inviato da alexforum
    ma non funziona ancora........
    il tuo codice è errato da cima a fondo.......

    codice:
    (function(){
    	function opacity(id, opacStart, opacEnd, millisec){
    		var	speed = Math.round(millisec / 100);
    		setTimeout(function(){
    			var object = document.getElementById(id).style;
    			object.opacity = object.MozOpacity = object.KhtmlOpacity = (++opacStart / 100);
    			object.filter = "alpha(opacity=" + opacStart + ")";
    			if(opacStart < opacEnd)
    				setTimeout(arguments.callee, speed);
    		}, speed);	
    	};
    	oop = function(){};
    	oop.prototype.start = function(){
    		opacity('box', 0, 100, 2000);
    	};
    })();
    onload=function(){
    	(new oop).start();
    };
    OOP comunque superflua, basta una funzione
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #62
    OOP comunque superflua, basta una funzione
    grazie mille!!

    all' inizio avevo strutturato il codice così:

    file gwindow.js
    Codice PHP:
    function gwindow(){
       
        function 
    changeOpac(opacity,id){
        ...
       }
        function 
    opacity(idopacStartopacEndmillisec) {
       ...
       }
       function 
    init(){
          
    opacity('box'01002000); 
       } 
     }

    window.onload init
    il file gwindow.js lo includevo nella pagina html e tutto funzionava bene

    ho voluto tentare l' approccio oo perchè pensavo(e ovviamente sbagliavo) che in questo modo eventuali altre funzioni richiamate nella pagina magari con lo stesso nome, non sarebbero entrate in 'conflitto'...

    per quello che devo fare è corretto quindi usare il codice che ho postato senza usare l'approccio oo?

    scusa le mie domande da niubbo , ma a chi se non chiedere al maestro

  3. #63
    hai due scelte:
    • creare un costruttore (classe) che non deve essere ridefinito da richiamare con new nomeCostruttore piu' metodo per ogni istanza creata
    • creare una funzione che non deve essere ridefinita da richiamare


    Un "agile" developer sceglierebbe il secondo punto, un "voglio complicarmi la vita, aumentare il codice, creare metodi che sfruttano semplici funzioni" il primo

    i costruttori (classi), dovrebbero essere utili ... mentre utilizzarli come wrappers di funzioni, li rendono inutili ... poichè come puoi avere conflitti con nomi di funzioni, li hai con nomi di classi, ma in JS devi sempre scegliere la via del codice piu' breve, poichè dovrà essere scaricato

    [edit]
    il tuo codice sopra non funziona, la init è interna allo scope della global gwindow ... mi sa che un giro tra closures e JavaScript (le basi) non guasterebbe, consiglio spensierato
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #64
    Un "agile" developer sceglierebbe il secondo punto, un "voglio complicarmi la vita, aumentare il codice, creare metodi che sfruttano semplici funzioni" il primo
    hai centrato nel segno, penso che per semplici script mi conviene usare un file contenente le funzioni che mi servono punto, visto che mi sembra di aver capito che le classi sono utili per grossi progetti

    i costruttori (classi), dovrebbero essere utili ... mentre utilizzarli come wrappers di funzioni, li rendono inutili ... poichè come puoi avere conflitti con nomi di funzioni, li hai con nomi di classi, ma in JS devi sempre scegliere la via del codice piu' breve, poichè dovrà essere scaricato
    infatti era proprio quello che pensavo di fare, usare un costruttore come contenitore di funzioni, ma questo tuo chiarimento mi è stato utile

    grazie

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.