Minulla on div-elementin sisällä vaakasuorassa skrollattavia labeleita. Haluaisin skrollata tiettyyn labeliin javascriptin avulla.
Jos käytän "haluttulabelli.scrollIntoView()"-metodia, niin koko sivu siirtyy yhtä paljon vasemmalle, mikä on kyseisen labellin sijainti. Vierityspalkkihan on siis huomattavasti leveämpi kuin itse "viewport".
Käytännössä varsinainen näkyvä sivu katoaa näkymättömiin johonkin ruudun vasemmalle puolelle.
Tässä linkissä https://codepen.io/rebosante/pen/eENYBv on vähän vastaava mitä haen, mutta pystysuorassa elementissä. Saisikohan tuosta muokattua vaakasuorassa toimivan version? Ilmeisesti jollain tavalla pitäisi ensin selvittää halutun labellin vasen koordinaatti, ja sitten skrollata siihen, vai?
Jos käytän "haluttulabelli.scrollIntoView()"-metodia, niin koko sivu siirtyy yhtä paljon vasemmalle, mikä on kyseisen labellin sijainti. Vierityspalkkihan on siis huomattavasti leveämpi kuin itse "viewport".
Käytännössä varsinainen näkyvä sivu katoaa näkymättömiin johonkin ruudun vasemmalle puolelle.
Tässä linkissä https://codepen.io/rebosante/pen/eENYBv on vähän vastaava mitä haen, mutta pystysuorassa elementissä. Saisikohan tuosta muokattua vaakasuorassa toimivan version? Ilmeisesti jollain tavalla pitäisi ensin selvittää halutun labellin vasen koordinaatti, ja sitten skrollata siihen, vai?
Vastaukset 1
Vanhimmat
Sainkin tuon nyt pelaamaan. Eli labelin johon skrollataan vasen koordinaatti selvisi metodilla "labelli.getBoundingClientRect().left" ja sitten laitettiin se arvo div-elementin scrollLeft-arvoksi.