Funzione js
Funzione js postato il 21/04/2008 14:03:05 nel forum programmazione, open source e hosting
Salve a tutti. Allora mi trovo davanti ad un problema in JS. Allora io ho un immagine e ho creato una funzione che nel momento in cui ci passo sopra si allarga fina a 100px. Vorrei però fare in modo che la larghezza e l'altezza fosse espressa in percentuale. E quindi la domanda. Esiste una funzione Javascript che mi permette di eliminare un carattere?
In modo che: prima elimino il carattere % dal width e dal height, poi aggiungo 1 al width e all'height e poi riaggiungo il %.
Pagine → 1
21/04/2008 14:52:11
Si conoscevo questa funzione. Solo che non funziona con height e width.
22/04/2008 11:20:32
io usavo questa funzione per spostare un div
prova a vedere se per caso ti e' utile, non so se funzioni con il width..
function Change1()
{
elem = frame.document.getElementById("scroller");
oldpos=elem.style.left;
newpos=parseInt(oldpos.replace('px',''));
newpos+=2;
newpos+='px';
elem.style.left=newpos;
}
22/04/2008 14:12:11 e modificato da xenom il 22/04/2008 20:04:01
Veramente non funziona a me.
<html>
<head>
<script language="javascript">
function Change1()
{
elem = document.getElementById("1");
oldpos=elem.style.left;
newpos=parseInt(oldpos.replace('px',''));
newpos+=2;
newpos+='px';
elem.style.left=newpos;
setTimeout('Change1()','1000');
}
</script>
<style>
.scroller{
position: absolute;
left: 0px;
}
</style>
</head>
<body onload="Change1();">
<div id="1" class="scroller">
Lorem ipsum bla bla
</div>
</body>
</html>
EDIT: vedi sotto.
22/04/2008 17:35:21
oorazoroo ha scritto: Non puoi semplicemente cambiare la funzione che ti allarga l'immagine fino a 100px e metterci al posto di px il %?
No perchè la funzione non usa px ma cambia semplicemente i numeri. Perciò 100+1 fa 101 ma 100% + 1 non fà 101%.
22/04/2008 17:54:42
forse usando i metodi DOM con un setAttribute? (o come se chiama)
22/04/2008 20:01:59 e modificato da xenom il 22/04/2008 20:03:21
oorazoroo ha scritto: Ah, altra cosa. Non usate numeri singoli o simboli negli id degli elementi, crea solo confusione al parser Javascript (anche se li mettete tra virgolette). Piuttosto invece di chiamare "1" il div chiamalo test, o bau, qualunque cosa basta che non sia solo un numero. Altra cosa che devi fare è sostituire nella funzione "left" con "width". Il resto dovrebbe funzionare così com'è.
Lo sò. Solo che avevo provato a cambiare mettendo un numero visto che con la stringa non funzionava.
P.S.
Mi son dimenticato di spiegare che così come sta non funziona usando .left, semplicemente perchè le proprietà css left, top, right e bottom richiedono position absolute per funzionare a dovere, e soprattutto con Javascript questa cosa è molto importante. Altra cosa da dire è che con Javascript non è possibile recuperare dimensioni o posizioni di un elemento se queste non sono impostate sempre da css, posizioni e dimensioni implicite risultano semplicemente come valori nulli (anche se l'elemento possiede su schermo dimensioni effettive).
Emh raz perdi colpi:
<html>
<head>
<script language="javascript">
function Change1()
{
elem = document.getElementById("1");
oldpos=elem.style.left;
newpos=parseInt(oldpos.replace('px',''));
newpos+=2;
newpos+='px';
elem.style.left=newpos;
setTimeout('Change1()','1000');
}
</script>
<style>
.scroller{
position: absolute;
left: 0px;
}
</style>
</head>
<body onload="Change1();">
<div id="1" class="scroller">
Lorem ipsum bla bla bla
</div>
</body>
</html>
EDIT: mi sono accorto che nella foga avevo inserito una parolaccia nel codice e mi sono autocensurato.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Tibia ↗
Seconda Era ↗
Exclusive Villa GdR ↗
Imperion ↗
Fallen Gods ↗
The Coven ↗