Pagina 1 di 1
[Risolto][JS]Calcolo matema. x spostare elemento fixed...
Inviato: mercoledì 17 giugno 2015, 7:24
da TommyB1992
Ragazzi creo un elemento con
createElement e lo posiziono con il seguente css:
Solo che quando faccio il resize della pagina l'elemento rimane nella posizione inserita mentre il resto della pagina si riproporziona.
Come dovrei strutturare il
window.onresize?
Re: [JS]Calcolo matema. x spostare elemento fixed durante re
Inviato: mercoledì 17 giugno 2015, 10:15
da Zoff
Non è molto chiaro cosa tu non riesca a fare. Comunque l'onresize puoi strutturarlo così:
Codice: Seleziona tutto
window.onresize = function(){
var x = calcolaX();
var y = calcolaY();
aggiornaCSSElemento(x,y);
};
Ovviamente le funzioni calcola e aggiorna me le sono inventate, al loro posto devi mettere il tuo codice.
Consiglio vivamente di utilizzare una libreria di appoggio tipo jQuery.
in jQuery sarebbe:
Codice: Seleziona tutto
$(window).resize(function(){
$('#iddellelemento').css({
top: nuovoTop,
left: nuovoLeft
});
});
Re: [JS]Calcolo matema. x spostare elemento fixed durante re
Inviato: mercoledì 17 giugno 2015, 13:14
da TommyB1992
Ciao Zoff!
Provo a spiegarmi per esempi.
http://s12.postimg.org/x5zlrd4m5/xzbhcltmmjkjaafx.png
Clicco su un bottone della tastiera e mi appaiono altri caratteri accentanti (che ho scopiazzato dalla mia tastiera di windows 10 del mio lumia, ma penso funzioni in maniera simile sugli iphone e samsung).
Posizioni gli elementi con fixed e quindi quando diminuisco le proporzioni della finesta ottengo:
http://s1.postimg.org/i44zdc6z3/xzdorsqmprlpmcbe.png
Quindi con il onresize dovrei riposizionarli in base ai dati salvati (salvo in una array posizione: top left innerHeight, innerWidth, pageXOffset e pageYOffset durante la creazione) ma non so che calcolo fare...
p.s. non uso jQuery su questo script
Re: [JS]Calcolo matema. x spostare elemento fixed durante re
Inviato: mercoledì 17 giugno 2015, 15:25
da TommyB1992
Ok ho risolto in una maniera abbastanza semplicistica: invece di salvare tutti quei dati come top/left/etc... ho salvato semplicemente "this" e poi durante il resize ho ritrovato il top e left con la medesima funzione.