Guest User190 Posted March 30, 2009 Share Posted March 30, 2009 Hejka. Potrzebuję zrobić flashowe intro do htmlowej strony bez przeładowania. Podejrzewam, że da się to zrobić w cssie i js Na początku na pełnym ekranie przegladarki powinno pojawić się flashowe intro (8-10 sekund), a pozniej zrobic fade do 0 i zniknac. Jakis pomysl jak sie do tego zabrac? :) Link to comment Share on other sites More sharing options...
torm Posted March 31, 2009 Share Posted March 31, 2009 nie jestem pewien czy o to chodzi, ale możesz zrobić jako banner, który będzie przykrywał zawartość html Link to comment Share on other sites More sharing options...
CzAk1 Posted March 31, 2009 Share Posted March 31, 2009 A nie da sie wklepać filmiku Flash do pierwszej strony HTMLa, odtworzyć...a po zakończeniu filmika dać przekierowanie do drugiej strony HTML? Link to comment Share on other sites More sharing options...
SSn4k3 Posted April 1, 2009 Share Posted April 1, 2009 nie jestem pewien czy o to chodzi, ale możesz zrobić jako banner, który będzie przykrywał zawartość html Wydaje mi się, że to jest najlepsze rozwiązanie. Zobacz chociażby na wp.pl, gdzie to wyskakuje reklama na całą stronę po czym znika:) Link to comment Share on other sites More sharing options...
Guest User190 Posted April 1, 2009 Share Posted April 1, 2009 Właśnie w ten sposób chce to zrobić - jak oni to robią? Ma ktoś z tym jakieś doświadczenia? Przeładowanie strony jest nieeleganckie :) Link to comment Share on other sites More sharing options...
3Jane Posted April 1, 2009 Share Posted April 1, 2009 Właśnie w ten sposób chce to zrobić - jak oni to robią? Użyj jakiegoś frameworka, żeby sobie ułatwić życie. jQuery ( http://jquery.com/ ) i Mootools ( http://mootools.net/ ) są całkiem fajne. Lepiej znam się na tym drugim, więc nim będę się tu posługiwać. Ogólna metoda byłaby taka: a) utwórz nowy div ( http://mootools.net/docs/Element/Element#Element:constructor ) b) ustaw mu szerokość i wysokość taką, żeby przykrywał całe okno ( http://mootools.net/docs/Element/Element.Dimensions ) c) ustaw mu "position:absolute; top:0px; left:0px" żeby zaczynał się od lewego górnego rogu strony ( http://mootools.net/docs/Element/Element.Style ) d) ustaw mu odpowiednio pozostałe style (jeśli ma zasłaniać całą stronę, to będzie ci potrzebny kolor tła, jeśli ma znikać, to zaczynasz z opacity na 1, i tak dalej) e) dodaj do niego Flash, nie wiem jakiej metody używasz, ale jest taki wrapper: http://mootools.net/docs/Utilities/Swiff f) dodaj cały div do body ( http://mootools.net/docs/Element/Element#Element:adopt do manipulacji drzewem DOM: adopt, inject, grab i inne) g) jeśli używasz mootools, wpisz mniej więcej ten kod: (function() { mojDiv.get('tween', {property: 'opacity', duration: '1000'}) .start(0).chain(function() { mojDiv.dispose(); }); }).delay(5000); Wyjaśnienie "cebulkowe": .delay(5000) - po pięciu sekundach (liczba w ms) odpala funkcję podaną wczesniej w nawiasie http://mootools.net/docs/Native/Function/#Function:delay mojDiv - div, który wcześniej stworzyłeś. Mogłeś mu nadać id="mojDiv", wtedy zamiast nazwy zmiennej możesz pisać $('mojDiv') i wydłubywać go na bieżąco z drzewa DOM .get('tween', {...}) - tworzy obiekt animujący opacity przez 1 sekundę ( http://mootools.net/docs/Fx/Fx oraz http://mootools.net/docs/Fx/Fx.Tween#Element-Properties:tween ) .start(0) - odpala animację opacity tak, żeby opacity zeszło do 0 (przezroczyste) http://mootools.net/docs/Fx/Fx.Tween#Fx-Tween:start .chain( ... ) - po zakończeniu animacji zostanie odpalone to, co w środku nawiasów http://mootools.net/docs/Class/Class.Extras#Chain:chain .dispose() - usuwa twój "chwilowy" div łącznie z flashem z drzewa DOM (sprzątamy po sobie :) Aha, wszystkie punkty od a) do g) musisz wstawić w środek takiego czegoś: window.addEvent('domready', function() { // ... tu wpisz co ci potrzebne ... }); http://mootools.net/docs/Utilities/DomReady żeby odpaliło się już po tym, jak całe drzewo DOM zostanie przez przeglądarkę zbudowane w pamięci i żeby ci żadne dziwne błędy nie wyszły. To w zasadzie to samo co tylko bardziej elegancko i więcej kodu zmieścić można ;) pp, _3Jane Link to comment Share on other sites More sharing options...
3Jane Posted April 1, 2009 Share Posted April 1, 2009 A, możesz też zrobić użytkownikom dobrze i dodać taki efekt, że jak klikną gdziekolwiek poza Flashem to się im to automatycznie zamknie. Powinno zadziałać coś w tym stylu: $('mojDiv').addEvent('click', function() { (function() { $('mojDiv').get('tween', {property: 'opacity', duration: '1000'}) .start(0) .chain(function() { $('mojDiv').dispose(); }); }).delay(5000); }); Disclaimer: cały kod pisany z głowy, jeśli będziesz miał problemy to napisz :) 1 Link to comment Share on other sites More sharing options...
Guest User190 Posted April 1, 2009 Share Posted April 1, 2009 (edited) Z mootoolsa korzystam, ale muszę przyznać, że twój poziom znajomości tego stuffu to dla mnie magia :) Testuję twoją metodę i trochę ją modyfikuję, bo mogę sobie pozwolić na statyczne ustawienie dodatkowego diva. Dzięki za pomoc - w razie wątpliwości będę pytał, a tymczasem leci do Ciebie rep - to już nie pierwszy raz kiedy mi pomagasz i jestem Ci za to niezmiernie wdzięczny :) Kurdę, używałem script.aculo.us i grysie się z mootoolsem.. argh... Edited April 2, 2009 by User190 Link to comment Share on other sites More sharing options...
3Jane Posted April 2, 2009 Share Posted April 2, 2009 Trzymam kciuki i dzięki za rep ;) W razie czego polecam też Firebuga http://getfirebug.com/ do podglądania jak działają cudze rozwiązania :) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now