To pierwszy wpis dotyczący jQuery na tym blogu, dlatego postawiłem na coś prostego do zrobienia, tak aby każdy kto posiada własną stronę, mógł dodać ten bajerek również u siebie. Link „powrót do góry strony”- chodzi o dodanie przycisku, czy linku, który będzie się pojawiał w momencie kiedy strona zostanie przewinięta (przesunięta) w dół, a sam link ma za zadanie, po kliknięciu w niego, przenosić czytelnika na górę strony.
Poradnik i przycisk bez problemu można wykorzystać na każdej stronie, niezależnie od tego czy jest to zwykła strona w HTML, czy blog postawiony na WordPressie – potrzebny będzie jedynie dostęp do plików źródłowych strony.
Chyba źle by się stało gdybym w pierwszej kolejności nie pokazał najprostszej możliwej drogi, do osiągnięcia podobnego efektu z wykorzystaniem jedynie HTML – to rozwiązanie ma swoje plusy, jest na pewno dużo „lżejsze” dla przeglądarek (nie ładujemy dodatkowej biblioteki, i nie wykonujemy dodatkowego kodu JavaScript . Przy tym rozwiązaniu mamy również pewność, że taki link zawsze zadziała, nawet w momencie, gdy użytkownik ma w przeglądarce wyłączoną obsługę JavaScript. Dodatkowo ten sposób jest też łatwiejszy w implementacji na stronie i na pewno osoby nie preferujące wodotrysków docenią również taką możliwość.
Sposób pierwszy – HTML, linki i kotwice (anchor links)
Ten sposób jest stosunkowo prosty – opiera się o zwykłe linki i właściwie mógłby to być temat na oddzielny wpis. Idea jest taka, że tworzymy w dokumencie HTML odnośnik, który po kliknięciu będzie przenosił do miejsca w dokumencie zwanego kotwicą… Ta technika często wykorzystywana jest w stopkach stron, zwykle jest tam taka ikona ze strzałką do góry, albo zwykły tekstowy link z podpowiedzią „Zabierz mnie do góry”, albo „Do góry”, albo samo „Góra”. Z linkami i kotwicami można się również często zetknąć przy bardziej profesjonalnych, bardzo długich dokumentach – wykorzystuje się je do zrobienia spisu treści, albo jako szybką nawigację między sekcjami na jednej stronie.
Z okazji tego wpisu przygotowałem proste demo, w którym na samym dole umieściłem link przenoszący czytelnika na górę dokumentu. Co jest potrzebne, aby zrobić to na własnej stronie? Nic. Wystarczy w atrybucie href linka wpisać # – hash, a w samym tagu coś co by wskazywało na jego zastosowanie, jakiś obrazek ze strzałką, albo tekst. Całość, czyli link umieszczamy gdzieś, gdzie chcemy aby link się pokazał, czyli zwykle gdzieś na dole strony, np w stopce.
Przykład pierwszy – znak specjalny HTML – strzałka w górę
<a href="#" title="Do góry!">[ ↑ ]</a>
Przykład drugi – Tekst
<a href="#" title="Do góry!">Zabierz mnie na górę!</a>
Przykład 3 – Obrazek
<a href="#" title="Do góry!"><img src="strzalka.jpg" alt="strzałka do góry" /></a>
Ten ostatni oczywiście wymaga podania prawidłowej ścieżki do obrazka.
Trochę bardziej zaawansowany przykład
Teraz, możemy zrobić coś, co będzie bardziej nawiązywało do efektu, który chcemy osiągnąć. Umieścimy nasz link na stałe w prawym dolnym rogu okna przeglądarki, tak aby przesuwając stronę nasz link pozostawał w tym samym miejscu.
Dokładnie o co mi chodzi, możecie sprawdzić w drugim demie. Co trzeba zrobić, aby osiągnąć taki efekt? Tym razem trzeba umieścić nasz link, gdzieś poza głównym obszarem kodu strony, tak aby nie przeszkadzał – najlepiej gdzieś na samym początku strony tuż po znaczniku <body>, albo tuż przed znacznikiem zamykającym </body>. Możemy wykorzystać któryś z poprzednich przykładów linków, ja użyję tego z obrazkiem, gdyż będę chciał go później wykorzystać do ostatniej prezentacji z jQuery. 🙂
Wskazane jest, aby naszemu linkowi nadać jakiś identyfikator… Mój gotowy link do wklejenia w kodzie strony wygląda następująco:
<a href="#" title="Do góry!" id="scroll-to-top"><img src="scrollup.png" alt="strzałka do góry" /></a>
i został umieszczony w kodzie strony tuż przez znacznikiem zamykającym </body>
. Możesz także zajrzeć do kodu źródłowego strony demonstracyjnej.
Po odświeżeniu strony mamy już działający guzik odsyłający na górę strony, z tym że jest umieszczony w złym miejscu i że widać go tylko jak się zjedzie na sam dół strony. Nadajmy mu kilka reguł CSS, które załatwią problem:
#scroll-to-top{ position:fixed; bottom:15px; right:20px; opacity:0.8; } #scroll-to-top:hover{ opacity:1; }
Pierwsza linijka, czyli
position:fixed;
ustawia pozycję naszej strzałki zawsze względem okna przeglądarki. Dając efekt przyczepienia elementu na stałe na ekranie – przy przewijaniu strony element będzie zawsze w tym samym miejscu okna. Dwie następne linijki ustawiają dokładną pozycję linka od dołu i od prawej krawędzi okna przeglądarki. Na koniec zmniejszyłem trochę krycie, aby po najechaniu kursorem uzyskać elegancki efekt. 😀
Jeszcze raz zamieszczam link do dema tego przykładu, gdzie można dokładnie podejrzeć cały kod.
jQuery way – Scroll to top, powrót do góry strony
W porządku, teraz gdy już mamy „bazę” dla naszego linku, możemy go trochę zmodyfikować i ulepszyć. Sprawimy, że link będzie widoczny tylko gdy zjedziemy trochę na dół, oraz dodamy efekt „płynnego przewinięcia” strony zamiast skoku jak to było w przykładzie z samym HTML.
Zacznijmy od podlinkowania biblioteki jQuery do strony. Możemy to zrobić na dwa sposoby:
- możemy skorzystać z biblioteki hostowanej na serwerach Google, dodając taki snippet najlepiej w sekcji
<head>
strony:
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js”></script> - albo pobrać z oficjalnej strony jquery.com i podlinkować, o tak:
<script src=”ścieżka/go/jQuery/jquery.min.js”></script>
W tym przykładzie korzystamy z dokładnie tego samego kodu strzałki co w poprzednim przykładzie. Do CSS później dodamy jeszcze jedną regułę, ale zajmijmy się ważniejszą sprawą, czyli skryptem jQuery.
Pierwsza sprawa, którą się zajmiemy, to będzie efekt „przewinięcia” na górę strony. Do dokumentu dodajemy następujący kod:
<script> $(function(){ $("#scroll-to-top").click(function(e){ e.preventDefault(); $('html, body').animate({scrollTop:0}, 1500); }); }); </script>
Należy pamiętać, aby w miejscu #scroll-to-top, podać odpowiedni identyfikator – ten który użyliśmy dla linka. Poza tym możemy tutaj zmienić drugi argument funkcji animate(), który ustawia prędkość animacji. Im więcej tym dłużej animacja będzie trwać – w tym przypadku 1500 oznacza 1500 milisekund.
Teraz dodamy ukrywanie i pokazywanie przycisku. Do CSS dodajemy regułę, która ukryje przycisk na początku:
display:none;
Cały kod CSS wygląda następująco:
.to-top{ text-align:center; } #scroll-to-top{ display:none; position:fixed; bottom:15px; right:20px; opacity:0.8; } #scroll-to-top:hover{ opacity:1; }
Dokładamy do wcześniejszego kodu jQuery, kilka linijek które przy przesuwaniu strony sprawdzą odległość od górnej krawędzi strony i w odpowiednim momencie ukryją bądź pokażą przycisk… Cały kod wygląda następująco, a efekt można podejrzeć w trzecim demie tutaj.
<a href="#" title="Do góry!" id="scroll-to-top"><img src="scrollup.png" alt="strzałka do góry" /></a> <script> $(function(){ var stt_is_shown = false; $(window).scroll(function(){ var win_height = 300; var scroll_top = $(document).scrollTop(); if (scroll_top > win_height && !stt_is_shown) { stt_is_shown = true; $("#scroll-to-top").fadeIn(); } else if (scroll_top < win_height && stt_is_shown) { stt_is_shown = false; $("#scroll-to-top").fadeOut(); } }); $("#scroll-to-top").click(function(e){ e.preventDefault(); $('html, body').animate({scrollTop:0}, 1500); }); }); </script>
Odnośniki do wszystkich stron demo:
Back to top WordPress
W WordPressie sprawa nie jest dużo trudniejsza. Bazując na kodzie z poprzedniego przykładu wystarczy tylko kilka kroków.
Kod CSS umieszczamy w pliku style.css
.to-top{ text-align:center; } #scroll-to-top{ display:none; position:fixed; bottom:15px; right:20px; opacity:0.8; } #scroll-to-top:hover{ opacity:1; }
Zapisujemy obrazek strzałki w katalogu grafiki szablonu WordPress. Kopiujemy kod HTML i jQuery do pliku np. footer.php
motywu, najlepiej jest odnaleźć w tym pliku linijkę
<?php wp_footer(); ?>
i bezpośrednią nad nią dodać kod – tak jak jest to pokazane na następnym listingu:
<a href="#" title="Do góry!" id="scroll-to-top"><img src="<?php bloginfo('template_url'); ?>/img/scrollup.png" alt="strzałka do góry" /></a> <script> $(function(){ var stt_is_shown = false; $(window).scroll(function(){ var win_height = 300; var scroll_top = $(document).scrollTop(); if (scroll_top > win_height && !stt_is_shown) { stt_is_shown = true; $("#scroll-to-top").fadeIn(); } else if (scroll_top < win_height && stt_is_shown) { stt_is_shown = false; $("#scroll-to-top").fadeOut(); } }); $("#scroll-to-top").click(function(e){ e.preventDefault(); $('html, body').animate({scrollTop:0}, 1500); }); }); </script> <?php wp_footer(); ?> </body> </html>
Tutaj należy tylko zwrócić uwagę na linijkę w której podajemy ścieżkę do grafiki strzałki. Robimy to w ten sposób:
<a href="#" title="Do góry!" id="scroll-to-top"><img src="<?php bloginfo('template_url'); ?>/img/scrollup.png" alt="strzałka do góry" /></a>
Dziękuję za dobrnięcie do końca artykułu. Mam nadzieję, że Ci się spodobał. Jeżeli masz jakieś pytania pisz w komentarzach poniżej.
Darmowe strzałki do wykorzystania na Twojej stronie
Aplikacja jest świetna, ale mam pytanie. Jak zrobić tego typu zjeżdżanie w dół po kliknięcie w jakiś odsyłacz w menu? (odsyłacze wyświetlane są potem w iframe).
Cześć, to o co pytasz nie jest takie trudne do zrobienia, przynajmniej ta część pomijająca iframe, bo nie za bardzo rozumiem o co pytasz. W każdym razie możesz zbudować identyczną strukturę menu, chodzi o ideę, jak w przypadku linków do kotwic.
Chyba nie wyraziłem się jasno… Piszesz sobie listę nieuporządkowaną, albo uporządkowaną to bez znaczenia, w której każdy element listy będzie zawierał link do odpowiedniego nagłówka na stronie. Bardzo fajnie będzie jeżeli wykorzystasz technikę linków do kotwic i w przypadku, gdy użytkownik odwiedzający Twoją witrynę będzie miał wyłączoną obsługę js będzie miał skok zamiast animacji, ale przynajmniej będzie to dalej działało.
Napisałem stronę demo, która ilustruje o co mi chodzi i odpowiada, przynajmniej mam taką nadzieję, na Twoje pytanie :).
Na górze przykładowego artykułu znajduje się menu o klasie index. Każdy link odpowiada pewnej sekcji w artykule, i po kliknięciu w niego ma do niej przenosić. Atrybuty href linków w menu są w positaci #link-do sekcji, do tego nadałem odpowiednie identyfikatory do nagłówków. Czyli w tym przypadku
I to już powinno działać – Efekt skoku zamiast animacji.
W jQuery, musisz pobrać nazwę identyfikatora z klikniętego odnośnika (z atrybutu href), oraz zrobić animację, np w ten sposób:
Jeżeli z mojego dema wywalisz cały js, albo wyłączysz obsługę w przeglądarce, dostaniesz przykład o którym wspominałem gdzieś w poście – zamiast animacji skoki do nagłówków
A, link do dema…
U Ciebie wygląda to super, od razu mi się spodobało. U mnie jest jakiś błąd, gdyż od razu po załadowaniu strony pokazuje mi się strzałka i muszę zjechać trochę na dół i znów do góry by zniknęła i od tej pory zaczyna działać prawidłowo. Jakieś pomysły co to może być?
Wydaje mi się, że coś pomieszałeś, jeżeli chcesz uzyskać pełny efekt jak tutaj, to na pewno nie ma możliwości, aby strzałka w ogóle się pokazała bez jQuery bo jej właściwość display:none. Dopiero 'podłączenie’ jQ i ruch kołkiem myszy wywołuje event sprawdzający przesunięcie strony w oknie przeglądarki i pokazanie, bądź ukrycie strzałki.
U ciebie strzałka pokazuje się od razu po wczytaniu, więc prawdopodobnie tutaj tkwi problem…
Jeżeli to ustawienie w CSS nie pomogło, to podaj więcej szczegółów, czy jest to wordpress, może link do strony to sprawdzę gdzie tkwi problem.
Dzięki za szybką odpowiedź. Przez przypadek wkleiłem pierwszy kod CSS, który wstawiłeś. Nie zawierał on linijki „display:none;” a jeszcze dwa razy sprawdzałem i wydawały mi się identyczne… Tak czy inaczej skrypt działa elegancko. Wielkie dzięki, robisz dobrą robotę. Skrypt z facebookiem też się przyda, gdy tylko umieszczę stronkę na publiczny serwer. 😉
Dzięki. Mam nadzieję, że się przyda. Pozdrawiam 🙂
Dzięki wielkie, super wszystko wytłumaczone i działa bez zarzutu!
witam fajna sprawa ale niestety u mnie nie działa w Dw wyskakuje mi błąd w 4 wierszu skryptu js.
var stt_is_shown = false;
Raczej nie jest to możliwe, ponieważ jest to tylko zadeklarowanie zmiennej i przypisanie jej wartości logicznej false. Zresztą ten kod w całości niezmieniony został wykorzystany w kilku projektach i nie było problemu. Myślę, że chodzi o coś innego, ale bez podania Twojego źródła nie chciałbym zgadywać. Pozdrawiam
Zrobiłem wszystko tak jak jest opisane w tym 3 sposobie, ale po otwarciu strony strzałka pojawia się od razu, dlaczego??
Sprawdź czy użyłeś kodu CSS od tego przykładu. Jeżeli strzałka pokazuje się od razu po wczytaniu strony to znaczy, że w CSS nie ma, albo nie działa właściwość display:none;
Rewelacyjna sprawa! 🙂 Ten blog jest naprawdępomocny, dzięki za czas, jaki na to poświęcasz!
Zgadam się z kolegą wyżej- wielkie piwo za to że pomagasz innym
a moja sprawa taka sama jak z „wysuwanym facebookiem”- nie wyświetla mi się grafika
Wiem że na pewno coś namieszałem albo źle zrobiłem i przoszę o jakieś rozwiązanie jak to napraic-(dla początkujacego)- wiryna na wordpress,
Dodam jeszcze że kopiowałem wszystkie ścieźki jak w Twoim opisie
W artykule ścieżki są względne – obrazki znajdowały się obok głównego pliku html, „u siebie” należy zacząć od wgrania obrazków na jakiś serwer (może być biblioteka mediów wordpressa). Ścieżki do obrazków znajdujących się w bibliotece wordpressa najłatwiej znaleźć przechodząc właśnie do biblioteki. Po kliknięciu w dany obrazek po prawej stronie znajduje się pole 'URL pliku’ – wystarczy skopiować podaną tam ścieżkę i podmienić w sliderze.
Pozdrawiam
za szlaka nie wiem gdzie wkleić ścieżkę, z facebookiem i g+ mi się udało a tu nie wiem:/, dodam scieżke do grafiki jak byś mógł to wklej mi ją w odpowiednie miejsce:
http://twoj-koduzdrawiania.pl/wp-content/uploads/2014/02/scrollup.png
udało mi się z tym uporać, można skasowac obydwa komentarze;) ale proszę o pomoc z multi facebookiem, mianowicie wszystko działa super tylko przed grafika FB i G+ jest jakaś mała kropka, chciał bym to zlikwidowac
Witam, ciesze się że wszystko działa. Proszę podać link do źródła, to postaram się wskazać źródło problemu. Pozdrawiam
http://twoj-koduzdrawiania.pl
prosze o pomoc
Powrót do góry strony chyba jest ok. Problemy w zakładkach:
1. Zakładki za daleko wyjeżdżają – trzeba w kodzie jquery dostosować szerokość zakładki. Teraz jest tam 302px, i w tym miejscu trzeba wpisać szerokość zakładki (z tego co pamiętam, bo to dość stary artykuł, trzeba będzie uwzględnić marginesy i paddingi)
2. 'Kółeczka’ przy grafikach zakładek. Wystarczy do CSS, do sekcji
#multitab
, dodać linijkęlist-style:none;
i powinny zniknąć.Pozdrawiam
Cześć ziomek, mam problem, mianowicie, nie mogłem znaleść kodów w CSS do #multitab, wiec postanowiłem usunąć wszystko-czyli „go góry” i „multi tab-a”, pousuwałem wszystkie(chyba) kody w head.php, footer.php i style.css, ale zakładki jak i strzałka do góry dalej są widoczne i działają, a chciałem usunąć żeby zrobić to na nowo od początku
Prosze o szybką odpowiedz.
Pozdrawiam
Ok juz poradziłęm sobie z tym, po prostu na złej stronie to zmieniałem, możesz wykasować te dwie wiadomości, ale podpowiedz mi jak zrobiłeś tą strzałkę „do góry” chciał bym stworzyć coś podobnego z napisem „do góry” ale jak widac na stronie http://twoj-koduzdrawiania.pl/ to nie zbyt fajnie to wyszło, i drugi taki sam jak Twój na czarny na białym tle, tak jak Ty masz jak sie zjedzie na sam dół
Witam 😀 Mam mały problem, otóż chciałbym aby ten przycisk znajdował się pomiędzy „sekcjami” np: pomiędzy zakładką „oferta, a „o firmie”. Oczywiście bym zmienił żeby mnie prowadziło do danej sekcji tylko nie wiem jak ustawić przycisk, aby połowa przycisku była na „ofercie”, a druga na „o firmie”.
Nie bardzo rozumiem o co chodzi, nie wiem też jak u Pana wyglądają owe zakładki, proszę trochę jaśniej… 🙂
Najprościej zilustruje to ta strona: http://www.przeproswiplera.pl/ Właśnie tam znajduje się ten przycisk. Po naciśnięciu przewija nas z „Głównej” do „Stanowiska” 😀
Czy da się zrobić taki skok bez obrazka i tekstu niejako automatycznie? W czym rzecz. Po przeczytaniu danej strony do końca klikam link „czytaj dalej”. I następna strona otwiera się też na dole zamiast na górze=tytuł strony.
Link zbudowany jest na takim kodzie :Lista
Tak, da się, i to nawet na tej samej zasadzie, co w artykule. Załóżmy że czytamy pewien artykuł na stronie, na końcu którego mamy przycisk, czy link „czytaj dalej”. Chcemy, aby po kliknięciu przeniosło nas do drugiego artykułu, jego drugiej części, czy ciągu dalszego… do drugiego, trzeciego, czy kolejnego akapitu. Najpierw tworzymy „kotwicę” w drugim artykule, do której ma nas przenieść „kliknięcie”. Powiedzmy, że będzie to drugi nagłówek. Dodajemy do niego zatem dowolny (unikalny) identyfikator, np.
naglowek-2
. Natomiast w przycisku, w jego atrybucie href, umieszczamy adres URL strony na której znajduje się część druga artykułu z post-fixem takim, jaki ma nasza „kotwica”, tak jakbyśmy odwoływali się do niego z poziomu CSS, czyli:#naglowek-2
.Przykładowo, „kotwica” i link prowadzący do niej:
<h1 id="naglowek-2">Nagłówek 2</h1>
<a href="czesc-druga.html#naglowek-2" rel="nofollow">Czytaj dalej →</a>
Wybrałam wersję do wordpressa, niestety coś nie wyszło, sam przycisk działa ale ani się nie przesuwa, ani obrazek się nie wyświetla (adres jest ok). Proszę o pomoc. Strona http://www.filtryamiad.pl/
Witaj Natalio,
Po pierwsze link do obrazka jest nie taki, u Ciebie jest dokładnie taki: „http://www.filtryamiad.pl/wp-content/themes/fruitfulhttp://www.filtryamiad.pl/wp-content/uploads/2015/04/scrollup.png”. Możesz podać na sztywno o tak http://www.filtryamiad.pl/wp-content/uploads/2015/04/scrollup.png, i wtedy powinien się pokazać.
No i spróbuj w kodzie jQuery każdy znak '$’ zastąpić na 'jQuery’ i powinno działać.
Pozdrawiam
Link jest podany na sztywno w wordpressie w stopce. Niestety nie wiem, czemu on sam sobie dodaje tą część z motywem. Zmieniam lokalizację tego kodu, na początku czy na końcu stopki ale bez efektów.
Nie ma tam funkcji bloginfo()? Bo w tym przypadku nie jest potrzebna.
Witam, a może coś przegapiłem, ale do jakiej klasy odwołuje się w stylach zapis: .to-top{}.
Witam, z tego co pamiętam, to klasa była użyta w demie. A w artykule pojawiła się chyba z rozmachu przy kopiowaniu. W tym przypadku nie jest potrzebna. Pozdrawiam 🙂
Witam 😀 Jak zmienić skrypt, żeby po naciśnięciu przewijało nas w dół, a nie w górę tak jak na tym przykładzie.
Sprawdź 2 komentarz 🙂
A podpowiesz mi może, jak mam zrobić podobny efekt ale z menu. Chodzi mi oto: mam otwartą zakładkę „Home” i nie ma tła, a po zjechaniu kawałek na dół pokazuję się tło. Z góry dziękuję Ci za pomoc 😀
PS. Nie wiem czy mnie dobrze zrozumiałeś, dlatego podam stronę z tym efektem :)http://ironsummitmedia.github.io/startbootstrap-agency/
Jeżeli używasz Bootstrapa, to sprawa jest prosta… To czego szukasz nazywa się ScrollSpy http://getbootstrap.com/javascript/#scrollspy
Cześć, fajnie to wszystko wygląda i pięknie, ale mam pewien problem i mam nadzieję że coś mi podpowiesz. Kombinowałem z kotwicami, z tym kodem JQUERY i nie mogę sobie z tym poradzić…
Mam prostą stronę i chciałbym aby na niektórych podstronach przenosiło użytkownika od razu do pewnej sekcji ale bez klikania. Czyli użytkownik wchodzi w link w menu i po załadowaniu podstrony ma przenosić od razu do tej sekcji. Mam nadzieję że dobrze to wytłumaczyłem.
Cześć, tak się składa że mam akurat gotowca i o ile dobrze Cię zrozumiałem, to to powinno Ci pomóc:
Dodaj na każdej stronie, na której chcesz mieć ten efekt. W miejscu
#jump-to
musisz podać identyfikator tagu do którego stronę ma przewijać. Albo ustawić w tych blokach identyfikatorjump-to
.Pamiętaj, że jQuery musi być podpięte, jeżeli robisz to na WP to możesz mieć z tym kilka problemów. Daj znać w komentarzu. 🙂
Pozdrawiam
Witaj, nie spodziewałem się tak szybkiej odpowiedzi! 😀
Nie, to nie wordpress, mam strone w joomli, więc musiałem jeszcze trochę pokombinować gdzie to wstawić, ale udało się, Twój kod działa bez zarzutu. Dokładnie o to mi chodziło.
Dzięki wielkie Mistrzu, piwo wiszę!
Pozdr
Witaj. Próbuje zastosować Twój kod u siebie na stronie kompleksmedia.pl. Natomiast problem mam taki, że po jego skopiowaniu do sekcji Body, (oraz definicjis stylu do sekcji head) strzałka oczywiście działa ale ląduje na sam spód strony i nie działa na efekcie pojawiania się w stałym miejscu po przewinięciu. Skasowałem ją ze strony bo robiła mi jakies problemy w promocji produktów (pojawiała się dziwna… przerwa pomiędzy zdjęciem na tytułem produktu). Prosiłbym Cię o jakąś pomoc gdyż taki przycisk „do góry” jest mi niesamowicie potrzebny (mam bardzo długie opisy produktów).
Witaj,
musiałbyś pokazać kod strony z tą nawet nie działającą strzałką. Kilka wskazówek ode mnie: najpierw dodaj kod html do sekcji body, a następnie CSS – w tym momencie strzałka powinna być już na miejscu, czy jest widoczna, czy też nie zawsze powinna być w tym samym miejscu. Tymczasowo, możesz wywalić linikę z display:none;, aby stwierdzić czy jest we właściwym miejscu. Jeżeli tak nie jest to możliwe, że wrzuciłeś kod HTML do jakiegoś innego bloku, który ma ustawione położenie relatywne, albo nie zadziałał CSS. Sprawdź w źródle strony, czy dodany CSS jest widoczny w jego podglądzie. Możliwe jest także, że Twój motyw nadpisuje moje style – najłatwiej to wywnioskować odpalając inspektora w przeglądarce (prawy, zbadaj element), ale tak na oko ciężko coś więcej wywnioskować.
Napisałeś że strzałka działa, więc JS i jQery wykluczam.
Jeżeli zrobiłeś tak jak radziłem w artykule, czyli dodałeś link na końcu strony – tuż przed znacznikiem zamykającym , to nic nie ma prawa się posypać. Z kolei jeżeli chodzi o CSS to teoretycznie mógłby wpłynąć na niektóre elementy na stronie, o ile miałyby one taki sam identyfikator jak identyfikator mojego linka, czyli #scroll-to-top, albo klasę .to-top, co jest bardzo, bardzo mało prawdopodobne. 🙂
Działa:) Zapraszam do wejścia, ocenienia i sugestii:D
No i oczywiście bardzo dziekuje:)
Faktycznie działa, ale przydałoby się jednak zmienić obrazek strzałki na coś innego, bo widać tą białą obwódkę. 🙂
Zaktualizowałem wpis o kilka nowych strzałek, więc możesz sobie podmienić. 🙂
Witam.
Zastosowałem twój kod na mojej stronie i działa rewelacyjnie. Szukałem wszędzie dobrego rozwiązania i w końcu udało się coś sensownego, prostego i praktycznego znaleźć. Super sprawa wielkie dzięki. Pozdrawiam
A jak zrobić np. w jquery by obrazek zmieniał się cały czas gdy najedziemy na niego myszką ?
Obrazek 1.jpg a gdy najedziemy myszka do czasu zjechania kursorem obrazka by naprzemiennie zmieniały się na nim obrazki 2.jpg i 3.jpg ?
Jak to zrobic ?
pozdrawiam i dzieki
Najprościej? Te dwa, które mają się naprzemiennie zmieniać połączyć do animowanego pliku typu gif. Następnie kasując tag obrazka –
<img>
, przypisać elementowi#scroll-to-top
na sztywno wysokość i szerokość i dodać mu obrazek 1.jpg jako tło. Na koniec dopisać pseudoklasę:hover
, w która będzie zamieniała obrazek1 na nasz animowany gif po najechaniu na niego kursorem.