Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Jeżeli tabelka ma więcej niż ... to włącz jej przewijanie
Forum PHP.pl > Forum > Po stronie przeglądarki
kolaborek
Witajcie.

Przygotowałem stronkę, która na podstawie bazy tworzy tabelę z danymi. I teraz mam problem bo jednym razem jest to kilka wierszy, a innym kilkadziesiąt.
Strona ma być wyświetlana na bezobsługowym monitorze, więc nie ma możliwości, aby ktoś tam coś ręcznie przewijał.

Chciałbym Was prosić o podpowiedź jak zorganizować, aby tabelka (jeżeli np. ma więcej niż 600 pikseli w dół) była przewijała się sama do spodu i potem od nowa?
Myślałem, aby oprzeć się na długości tabeli, bo czasami jeden wiersz potrafi zawierać dość dużo danych.

Pozdrawiam
Daniel.

Widzę, że chyba się tego nie da zrobić...
A może po prostu ciągłe scrollowanie tabelki niezależnie od długości?

Sorki, że tak dopytuję, ale jeżeli chodzi o JS to jestem totalnie lewy... Nawet nie wiem co mógłbym zrobić, więc pytam.
kapslokk
https://css-tricks.com/snippets/jquery/smooth-scrolling/
+ setInterval
+ sprawdzanie czy dojechales do konca strony
+ kilka przerobek
szczemp
Nie wiem czy ciągłe scroolowanie będzie dobre. Czy ktoś kto będzie czytał taką przewijaną tabelę nie będzie się gubił w treści? Może lepiej skokami pokazywać kolejne wiersze?
Np załadować całą tabelę na stronę i niech sobie będzie część niewidoczna. I co jakiś czas chować górny wiersz. No i trzeba sprawdzać kiedy zniknie ostatni wiersz, żeby znowu pokazać wszystkie. Dla lepszej orientacji walnąć jakiś zegar z odliczaniem do kolejnego zniknięcia wiersza. Tym sposobem tekst będzie stałw miejscu i będzie się go łatwiej czytać i wydaje mi się, że łatwiej to zrobić niż autoscrool.
Albo innym sposobem. Nie znikać górnego wiersza, a pokazywać nowy. Na początek pokazać tylko jeden i co jakiś czas dodawać kolejny na górę, wtedy stare wiesze będą same znikać poza ekranem.
kolaborek
@kapslokk
Dzięki za wskazówki, ale na razie nie dałem rady tego ogarnąć.
@szczemp
Jednak skokowa zmiana wierszy nie jest tutaj zbyt dobrym pomysłem. Powolne przewijanie lepiej wygląda.

Dostałem od kolegi poniższy skrypt. Fajnie przewija, ale całą stronę. Niestety obydwaj nie potrafimy go przerobić, aby przewijał tylko tabelkę (albo może diva, w której byłaby tabelka?). Macie pomysł jak to zmienić?

Kod
var currentpos=0,alt=1,curpos1=0,curpos2=-1
function initialize()
{
    startit()
}

function scrollwindow()
{
    if (document.all)
    temp=document.body.scrollTop
    else
    temp=window.pageYOffset
    if (alt==0)
    alt=1
    else
    alt=0
    if (alt==0)
    curpos1=temp
    else
    curpos2=temp
    if (curpos1!=curpos2){
    if (document.all)
    currentpos=document.body.scrollTop+1
    else
    currentpos=window.pageYOffset+1
    window.scroll(0,currentpos)
}
else
    {
        currentpos=0
        window.scroll(0,currentpos)
    }
}
function startit(){
setInterval("scrollwindow()",50)
}
window.onload=initialize
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.