Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Marquee za pomoca javaScript
siorbi
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 8.09.2005

Ostrzeżenie: (0%)
-----


Jak najprosciej uzyskac taki efekt jak kiedys znacznik marquee w ie? Chodzi o zwykle przewijanie tekstu w tabeli. Pojawia sie z jednej strony znika z drugiej i ponownie.


--------------------
www.siorbi.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Zajec
post
Post #2





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


Umieść w komórce tabeli element z tekstem. Zmniejszaj mi margin-left aż do osiągnięcia wartości ujemnej, której wartość bezwzględna jest równa szerokości elemenu z tekstem. Potem od razu zwiększ margin-left do szerokości komórki tabeli.

Pamiętaj oczywiście o overflow: hidden dla komórki.
Go to the top of the page
+Quote Post
-SaraniS-
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 2.01.2005
Skąd: Opolskie

Ostrzeżenie: (0%)
-----


Witam
Dopiszę się tu, bo mam podobny problem. Otóż tekst do banera będzie pobierany z bazy, i kontener, w którym go umieszczam, ma dynamiczną szerokość. W jaki sposób (czy w ogóle?) można pobrać szerokość elementu który jej nie ma zdefiniowanej w stylach? Próbowałem obj.clientWidth oraz obj.offsetWidth (gdzie obj to odwołanie do mojego kontenerka z tekstem) ale te wartości mają się nijak do prawdziwej szerokości elementu dry.gif W rezultacie tekst przewija się do momentu, gdy widać go jeszcze w 1/3 i znika, by pojawić się z prawej strony (o tyle mniej więcej jest szerszy kontener tekstu od swojego parenta) dry.gif
Dodatkowo zauważyłem, że aby zobaczyć w js wartości atrybutów styli, muszę je definiować inline - te z arkusza nie są widoczne! (arkusz ładowany przed skryptem, przeglądarka Opera 9.02 Build 8585)
Co z tym można zrobić?

[EDIT]
Problem rozwiązany - aktualna szerokość elementu - nawet dynamiczna - jest przechowywana we właściwości obj.currentStyle.width (tylko do odczytu) smile.gif
Natomiast nadal nie wiem, dlaczego muszą te wartości być definiowane inline zamiast w arkuszu...
Niestety, radość przedwczesna - IE nie potrafi odczytac wartości z currentStyle i podaje NaN...
[/EDIT]
[EDIT2]
Teraz to już całkiem zgłupiałem... Wczoraj, jak napisałem, właściwość offsetWidth zwracała mi NaN, a dziś działa poprawnie ohmy.gif O co tu chodzi?
Opera 9.02 Build 8585
IE 6.0.2800.1106
[/EDIT]

Ten post edytował -SaraniS- 7.12.2006, 13:31:22


--------------------
Workstation: Hardware: Toshiba Satellite L40-14B Software: Linux 2.6.30.3 - Slackware 12.2 - KDE3.5.10
Server: Hardware: Celeron 850MHz/ 256MiB Software: Linux 2.4.31 - Slackware 10.2 - Apache 2.2.0.59 + PHP 5.1.6 + MySQL 5.0.24a
Go to the top of the page
+Quote Post
marcini82
post
Post #4





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Tresc mozesz tez wygodnie przesuwac za pomoca
  1. kontener.scrollLeft++;

wywolywanym co okreslona ilosc milisekund. Tylko musisz przy tym sprawdzac, czy scrollLeft nadal sie zwieksza, bo jak nie to oznacza ze dojechalo juz do konca.

I pamietaj o wlasciwosciach:
  1. overflow:hidden;
  2. white-space: nowrap;

dla kontenera.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:06