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:

Codice: Seleziona tutto

position: fixed;
z-index:1000;
top: [x];
left: [y];
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.