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

    Trasformare una funzione in metodo

    Ciao,
    sto trasformando una funzione in un metodo dell'oggetto DIV; la funzione è molto semplice:

    codice:
    <script type="text/javascript">
    
    function setOpacity(objectID, op) {
    	// op values from 0 to 10;
    	var obj = document.getElementById(objectID);
    	obj.style.opacity = op / 10;
    	obj.style.MozOpacity = op / 10;
    	obj.style.KhtmlOpacity = op / 10;
    	obj.style.filter = "alpha(opacity=" + op * 10 + ")";
    }
    
    setOpacity("myDiv", 5);
    
    </script>
    
    <div id="myDiv">Sarò semitrasparente...</div>
    Qui la trasfomazione:

    codice:
    HTMLElement.prototype.setOpacity = function (op) {
    	var obj = this;
    	obj.style.opacity = op / 10;
    	obj.style.MozOpacity = op / 10;
    	obj.style.KhtmlOpacity = op / 10;
    	obj.style.filter = "alpha(opacity=" + op * 10 + ")";
    }
    
    document.getElementById("myDiv").setOpacity(5);
    che con Firefox funziona, ma con MSIE no perché non capisce l'oggetto "HTMLElement".
    Come si definisce l'oggetto HTMLElement in MSIE?
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  2. #2
    Per vedere come il browser MSIE definisce il tipo di oggetti DIV ho lanciato questa riga:

    codice:
    alert(document.getElementById("myDiv"));
    che con Firefox restituisce [object HTMLDivElement] mentre in MSIE 7.0 restituisce soltanto [object].

    Provando a creare il metodo per entrambi i tipi di oggetto, MSIE restituisce errore nella riga di dichiarazione del metodo o nella riga di lancio del metodo, mentre su Firefox funziona solo sul secondo e più generico "object".
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se non sbaglio mega69 ha compiuto ricerche abbastanza approfondite al riguardo, riuscendo a giungere ad una soluzione (poco lineare ma funzionante, sempre se non ricordo male)

    prova con qualche ricerca limitata al suo nick

  4. #4

    Re: Trasformare una funzione in metodo

    Originariamente inviato da emanueledg
    Come si definisce l'oggetto HTMLElement in MSIE?
    non si definisce, e la soluzione è wrappare le varie document.getElement* oppure usare sempre la classica $("id") dove all'interno fai quello che vuoi.

    IE non ha classe esposta per DOM, Window, altro
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.