Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037

    [Javascript ] scalare livello

    Ciao a tutti!Vorrei scalare un livello chiamato "Layer1" ,
    la funzione che dovrebbe scalare è questo:
    codice:
    var _width=500;
    var _height= 400;
    function scalaLivello()
    {
    	document.getElementById("Layer1").width += (_width - document.getElementById("Layer1").width) / 10;
    	document.getElementById("Layer1").height += (_height - document.getElementById("Layer1").height) / 10;
    	alert(_width+'   '+_height);	
    }
    Mi hanno detto che dovrei riassegnare il valore, ma non so cosa voglia dire.
    grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma quella funzione funziona o ti da` problemi?

    Non so cosa voglia dire "riassegnare il valore", a meno che non sia la cosa che stai gia` facendo.

    Nel tuo script non mi piace l'uso che fai di variabili che iniziano con _: di solito tali variabili sono riservate, ed usate per scopi interni al JS.

    Un'altra preplessita` mi viene dal fatto che dalla divisione ottieni numeri non interi: un bel Math.round o Math.ceil o Math.floor ci starebbe bene.

    Inoltre potrebbe esserci un problema di logica sull'uso che fai dei valori costanti, ma questo non pregiudica il funzionamento della funzione (e magari e` proprio quello che volevi, ma che non interpreto bene).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    Ciao e grazie per la rispota.Lo script sto usando e mi da problemi.
    In pratica io programmo in actionscript, infatti l'efetto dovrebbe essere uno scalamento fluido, implementato con il setInterval.
    Il problema mi da comunque già all ininizio:
    function scalaLivello()
    {
    var larg = document.getElementById("Layer1").width;
    alert(larg);
    }
    Mi visualizza undefined. :master:
    Lo script nel body del layer è:
    <div id="Layer1" name="Layer1" onMouseOver="scalaLivello()" ......
    dove è che sbaglio?
    grazie

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    come ti ha detto Mich può essere utile usare un parseInt
    poi quelle dimensioni le dovresti aver assegnate da css, quindi
    parseInt(document.getElementById("Layer1").style.width);

    se sei in documento con doctype xhtml quando si settano misure via javascript occorre aggiungere "px"

    x es.
    document.getElementById("Layer1").style.width=(par seInt(document.getElementById("Layer1").style.widt h)-10)+"px"

    se può esserti d' aiuto c' è uno script a oggetti qui
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    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.