Pozdrav,
malo sam zaglavio s razumjevanjem nekih ponašanja prikaza kod mobitela.
Želim postaviti obični div blok na poziciju x,y…i to radi prilično neočekivano.
Recimo, na sljedećem linku možete vidjeti bijele blokove http://bozoou.com/OP_new/trazim_prijevoz
…kad se klikne na bilo koji od bloka, crveni box se postavi na visinu tog bloka. Znači sljedeća logika se desi:
`RedBox.style.top=WhiteBox.offset.top-RedBox.height`
//(oduzimanje RedBox visine samo da se posloži točno donji border RedBox-a na white box)
E sad, pošto želim znati poziciju whiteBox-a od vrha stranice (a ne samo do njegovog parenta) …koristim određene funkcije da dobijem željene offsete.
Kad se klikne na bijeli box, ti offseti se ispišu unutar boxa…da se to može pratiti.
Ti isti offseti se dodjele RedBox-u, koji je position:absolute i parent mu je body.
Znači ako njemu postavimo poziciju, kao što je offset od whiteBoxa, to bi se trebalo podudarati…i podudara se, ALI:
-radi dobro na destkop verziji
-radi dobro na mobile dok nije ništa scrollano i dok nije mijenjan zoom.
-radi dobro na mobile dok je scrollano i dok nije mijenjan zoom.
-radi dobro na mobile dok nema scrolla i dok je mijenjan zoom.
-radi dobro na mobile dok ima nešto scrolla (čak i do 1500px) i dok je mijenjan zoom.
No, ako se scrola prema dolje više od određenog xx pixela, poludi.
U cijeloj priči, problem zapravo nije problem jer u konačnici web bi trebao biti posložen tako da se ništa ne zoomira…ali čisto sam htio imati jednu lijepu funkciju sa kojom mogu uvijek dohvatiti global poziciju bilo kojeg elementa…isto tako da u tim istim global koordinatama mogu upravljati nekim drugim elementom.
Ali mobiteli se čine to ne podržavaju dobro ili ja negdje griješim??
Ako zanemarimo i ponašanje po vertikalnom scrollu, pogledajte kako se nesuvislo ponaša i pozicija elementa u ovisnosti horizontalnog scrolla.
Mislim, aboslute position zadan element bi uvijek trebao biti na istom mjestu u prostoru, bez obzira gdje se nalazi horizontalni scroll…ali ovaj primjer pokazuje da na mobitelu to tako ne funkcionira??