<div id="containerDiv"></div>
#containerDiv {
position: absolute;
top: 0px;
width: 400px;
height: 100%;
padding: 5px;
font-size: .875em;
overflow-y: scroll;
}
document.getElementById("containerDiv").innerHTML = variableLongText;
Jak następnym razem zresetować pozycję przewijania do góry kontenera div?
javascript
html
scroll
Jestem tutaj
źródło
źródło
Innym sposobem na zrobienie tego z płynną animacją jest ten
źródło
slow
, jest tak ... wolno!slow
jako drugi argument. Możesz podać liczbę całkowitą, która byłaby liczbą milisekund potrzebnych do zakończenia animacji.Wypróbowałem istniejące odpowiedzi na to pytanie i żadna z nich nie działała dla mnie w Chrome. To, co zadziałało, było nieco inne:
źródło
scrollTo
to najlepsze rozwiązanie do przewijania okien do góry - najlepsze jest to, że nie wymaga żadnego selektora identyfikatora i nawet jeśli użyjemy struktury IFRAME, będzie działać wyjątkowo dobrze.
jQuery
Inną opcją, aby zrobić to samo, jest użycie jQuery, które zapewni gładszy wygląd tego samego
gdzie 0 za scrollTop określa położenie pionowego paska przewijania w pikselu, a drugi parametr jest parametrem opcjonalnym, który pokazuje czas w mikrosekundach potrzebny do wykonania zadania.
źródło
document.getElementById('scroller').scrollTo(0,0)
To zadziałało dla mnie:
źródło
document.getElementById("yourDivID").scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"})
scollIntoView
działa tylko wtedy, gdy wywołasz ją na elemencie, który ma być przewijany. Innymi słowy, nie nazywaj go na elemencie, który chcesz przewinąć do , nazywają go na elemencie, który chcesz przewinąć.Dla tych, którzy nadal nie mogą tego zrobić, upewnij się, że przepełniony element jest wyświetlany przed użyciem funkcji jQuery .
Przykład:
źródło
U mnie sposób scrollTop nie działał, ale znalazłem inne:
Nie sprawdziłem jednak minimalnego czasu niezawodnego renderowania css, 100 ms może być przesadą.
źródło
Jeśli chcesz przewijać z płynnym przejściem, możesz tego użyć!
(Wanilia JS)
Mam nadzieję że to pomoże!!
źródło
Zgodnie z odpowiedzią François Noël „Dla tych, którzy nadal nie mogą tego zrobić, upewnij się, że przepełniony element jest wyświetlany przed użyciem funkcji jQuery”.
Pracowałem w trybie bootstrap, który wielokrotnie wywoływałem z uprawnieniami konta w elemencie div, który przepełnia wymiar y. Mój problem polegał na tym, że próbowałem użyć funkcji jquery .scrollTop (0) i nie działała ona bez względu na sposób, w jaki próbowałem to zrobić. Musiałem ustawić zdarzenie dla modalu, które nie resetowało paska przewijania, dopóki modal nie przestał się animować. Kod, który w końcu dla mnie zadziałał, jest tutaj:
źródło
Jeśli zawartość html przepełnia jeden widok, działało to dla mnie tylko przy użyciu javascript:
Pozdrowienia,
źródło
To jedyny sposób, w jaki to zadziałało, z płynnym przejściem przewijania:
źródło
Podczas pobierania elementu przez nazwę klasy nie zapomnij, że zwracana wartość jest tablicą; Stąd ten kod:
Nie zadziała. Zamiast tego użyj poniższego kodu.
Pomyślałem, że inni ludzie mogą napotkać podobny problem jak ja; więc to powinno załatwić sprawę.
źródło
te dwa kody działały dla mnie jak urok, który pierwszy przewinie na górę strony, ale jeśli chcesz przewinąć do jakiegoś konkretnego div, użyj drugiego z identyfikatorem div.
Jeśli chcesz przewijać według nazwy klasy, użyj poniższego kodu
źródło
Identyfikator Powinien mieć identyfikator odpowiedniego elementu div, który ma właściwość css przepełnienia.
document.querySelector('#YOUR_OVERFLOWED_DIV').scrollTop = 0;
źródło