Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    11

    Aumentare parametro css

    Ho appena iniziato con il js, stavo provando a scrivere una funzione che spostasse di 100px un div, non capisco perchè non va.

    codice:
    <html>
        <head>
            <title>Prova JavaScript</title>
            <link href="provajs.css" rel="stylesheet" type="text/css">
            
            <script>
                function on(id){
                    var div=document.getElementById(id).style.top;
                    var h=div.replace("px", "");
                    var h2=parseInt(h);
                    h2+=100;
                    document.getElementById(id).style.top=h2+"px";
                }
            </script>
            
        </head>
        
        <body>
            <div id="container" >
                <div id="myHeader" onclick="on('myHeader')">
                    ciao
                </div>
            </div>
        </body>
    </html>
    Lo stile correlato:
    codice:
    #myHeader
    {
        width: 20%;
        height: 20%;
        margin: auto;
        background-color: rgb(255,0,0);
        position:relative;
        top:100px;
        border: solid;
    }

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    lo style a cui tenti di accedere e' quello in linea, tanto in lettura quanto in scrittura
    <div id="myHeader" onclick="on('myHeader')" style="top:100px">
    quindi la prima volta non troverai quello che ti aspetti

    se proprio non vuoi definirlo nello stile in linea o assegnarlo via javascript anche la prima volta puoi usare uno script del genere http://www.quirksmode.org/dom/getstyles.html
    che, con le dovute eccezioni, restituisce come il browser ha applicato lo stile sull' elemento

    ciao, buone feste

    P.s. e' inutile rimuovere "px" dalla stringa se immediatamente dopo fai un parseInt dello stesso valore

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    11
    è che non so come funziona bene il parseInt, se faccio un parseInt di un misto tra numeri e lettere, vengono eliminate tutte le lettere e lasciari (e accostati) tutti i numeri?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Originariamente inviato da VanBee
    è che non so come funziona bene il parseInt, se faccio un parseInt di un misto tra numeri e lettere, vengono eliminate tutte le lettere e lasciari (e accostati) tutti i numeri?
    No, va in errore il parse(Int/Float) forza una stringa in numero:
    var numero = "100"
    numero = parseInt(numero)
    Ok
    var numero = "100px"
    numero = parseInt(numero)
    Errore
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il parseInt di una stringa che inizia per intero restituisce quell' intero, no?

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.