Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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.
Go to the top of the page
+Quote Post
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 (IMG:http://forum.php.pl/style_emoticons/default/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) (IMG:http://forum.php.pl/style_emoticons/default/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) (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.08.2025 - 14:21