Ostatnio pisałem o tym, jak zrobić wysuwany LikeBox Facebooka, jak się okazuje czasem jedna zakładka jest niewystarczająca. Obecnie prawie zawsze obok widgetów Facebooka pojawiają się również guziki z Google +, dlatego większość z nas chciałaby promować swoje wpisy na tych portalach równolegle.
Chociaż nie ma dużego zapotrzebowania na tego typu gadżety, to uważam, że przedstawiony tutaj sposób jest jak najbardziej przyjazny użytkownikom – można na jego podstawie zrobić tylko jedną zakładkę i tak zostawić, albo dodawać kolejne w miarę potrzeb.
Kod HTML social slidera
Tym razem, zakładka jest oparta na nieuporządkowanej liście HTML z zagnieżdżonym blokiem div, który będzie służył za 'ciało’ zakładki. Spójrzmy na ten kod:
<ul id="multitab"> <li> <img src="img/facebook-slider.png" /> <div>TUTAJ NP KOD Z FACEBOOKA</div> </li> <li> <img src="img/googleplus.png" /> <div style="border: solid #cd3c2a 3px;">TUTAJ NP KOD Z GOOGLE PLUS</div> </li> <li> <img src="img/rozne.png" /> <div style="border:solid #46832c 3px;">Treść zakładki z różnościami :-)</div> </li> </ul>
Wysokość i szerokość elementu listy, równe są wymiarom grafiki, które będą imitować zakładki.
Bezpośrednio wewnątrz elementu listy umieszczamy obrazek, oraz blok z kodem zawartości, który będzie wyjeżdżał po najechaniu kursorem nad dany element listy.
Co tutaj musimy zrobić sami? Analogicznie do poprzedniego wpisu należy przejść pod adres https://developers.facebook.com/docs/plugins/page-plugin i wygenerować kod dla pluginu Facebooka, albo tutaj https://developers.google.com/+/web/badge/ w przypadku Google+.
Opcjonalnie, aby uzyskać ładny, spójny efekt, należy zmienić kolor ramki bloku w którym znajduje się plugin, w sposób przedstawiony poniżej, chodzi o ten fragment:
<div style="border:solid #46832c 3px;">Treść zakładki z różnościami :-)</div>
CSS multi social slidera
#multitab{ position:fixed; right:0px; top:190px; z-index:100; } #multitab li{ cursor:pointer; width:35px; height:110px; margin-bottom:1px; position:relative; } #multitab > li > div{ padding:5px; border: solid #0170cf 3px; background: #fff; float:left; width:286px; height:296px; -moz-border-radius: 0 0 0 8px; -webkit-border-radius: 0 0 0 8px; border-radius: 0 0 0 8px; position:absolute; top:0; left:35px; z-index:100; }
jQuery – wysuwany likebox Facebook w akcji
W sekcji head strony umieszczamy snippet dołączający bibliotekę jQuery do naszego dokumentu:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Następnie, w sekcji head
, albo gdzieś w sekcji body
umieszczamy poniższy kod jQuery, który będzie odpowiadał za obsługę slidera, animował wysuwanie zakładek.
<script> $(function(){ $('#multitab li').hover( function(){ $(this).stop().animate({"right": "302px"}, 1000); } , function(){ $(this).stop().animate({"right": "0"}, 1000); } ); }); </script>
Demo
I to właściwie już wszystko, trochę długa nazwa, ale nasz Mutli PagePlugin Facebook Tab Slider jest już gotowy! Tutaj znajduje się demo właśnie stworzonego slidera.
Nieźle śmiga, tylko mógłbyś wrzucić to całe archiwum z przykładem do ściągnięcia. Taka mała sugestia 🙂
Pozdrawiam
Postaram się wkrótce to zrobić. Dzięki za sugestię 🙂
Kurcze pierwszy raz spotkałem się z takim rozwiązaniem, super to wykonałeś:) tylko proszę dorób jeszcze grafike dla youtube tak jak to jest dla google+ i facebooka:) bardzo mi na tym zależy
pozdrawiam
Cześć, dzięki za miłe słowo. Dorobiłem zakładkę dla YouTube, możesz ją znaleźć w demie tego artykułu.
Nie wiem dlaczego ale jakos nie widze obrazka do youtube? Mógłbys podesłać linka?
dzieki wielkie już mam:)
witam, naprawde dobre porady i dobrze wytłumaczone,
zrobiłem wszystko jak napisałes, i mam jeden malutki problem, a mianowicie nie wyświetla mi
grafiki zakładki ( wgrałem ja w media)
działam na worldpress
Witam, wygląda to na błędnie wskazany adres do grafiki. Adres obrazka najszybciej można znaleźć przechodząc do zakładki Media w kokpicie. Po kliknięciu na obrazek, po prawej stronie w polu 'URL pliku’ znajduje się prawidłowa ścieżka – skopiować całość, i wkleić w cudzysłowie atrybutu src obrazka.
Pozdrawiam
Czemu jak to dodałem to w pozostałych kategoriach na stronie nie wyświetla mi obrazków fb itd?
Nie ważne już sobie poradziłem. Możesz skasować obydwa komentarze.
Ekstra, naprawdę serdeczne dzięki! Zrobiłam, ja ignorantka css, kodów html i innych… ale mam naprawdę mały problem
otóż… przy moich sliderach wyświetlają się malutkie kropki – punktatory? co może być tego przyczyną i jak się tego pozbyć?
Dałam radę 🙂
Do CSS trzeba dopisać:
list-style:none;
Kawał dobrej roboty. Szukałem czegoś takiego i w końcu trafiłem na Twój blog. Wszystko podane, jak na tacy 🙂 Mam tylko jeden malutki problem. Zrobiłem wszystko zgodnie z opisem i oczywiście slider działa tylko przy grafikach mam po jednej małej kropce. W niczym to nie przeszkadza pomijając kwestię estetyczną.
Aha i w internet explorer rozwinięte okienka są białe, bez zawartości, czemu?
Dzięki!
Kropka przy zakładce oznacza, że styl list-style-type:none; nie został zastosowany. Dodaj tą linijkę do #multitab i powinno być dobrze. Jeżeli chodzi o IE, zawartość zakładek często nie wyświetla się w wersji offline, spróbowałbym przetestować na serwerze http.
Dziękuję i przepraszam. Wystarczyło przeczytać wpis Pauli 🙂
Co do IE, to myślę, że błąd leży po stronie przeglądarki. Klikam w pajacyka na kilku przeglądarkach, ta strona ma podobny slider i też na IE działa kulawo. Zresztą Twój saider też nie działa w pełni, fb i owszem, ale g+ to tabula rasa 🙂
Nic nie szkodzi, akurat ten wpis i slider to jedna z pierwszych wersji. Jednak jak go pisałem i z tego co pamiętam, to przy testowaniu działało ok, nawet i w starszej wersji IE. Sprawdź demo z artykułu w IE, i zobacz czy kłamię… 😀
Ja bym jeszcze tutaj rozróżnił – niedziałający slider, a nie działająca zawartość slidera… Otóż, gdy wypełnisz zakładki czymś prostym typu tekst, czy obrazek, to wszystko powinno śmigać i animować – demo działa, tak? 🙂 Jak dodasz dynamiczne widgety z FB, G+, to jest spora szansa, że nie w każdym środowisku będą (od razu) działać. Nawet bez kodu slidera.
Pozdrawiam
Nie podejrzewam Cię o kłamstwo 🙂
Tak, to jest różnica, slider działa, brak zawartości, ale nie mam zamiaru się tym przejmować.tym bardziej, że ze statystyk strony wychodzi, że użytkowników korzystających z IE jest baaardzo mało 🙂
Pozdrawiam 🙂
Pojawił się problem 🙂 Stronę miałem opartą o joomla 2.5 i wszystko działało ekstra. Zaktualizowałem joomla do wersji 3.3.6 i slider szlag trafił. Obrazki są, po najechaniu myszą wskaźnik się zmienia. Masz może jakiś pomysł?
Jak slider jest na miejscu, ale nie animuje – to nie ma jquery i/lub musli.js i/lub brakuje wywołania… 🙂
Dzięki. Faktycznie, przy aktualizacji joomla wycięło jedną linijkę. Poprawione, działa 🙂
Czy jest możliwość ustalenia dla konkretnego slidera wielkości okna?
Chodzi o to że na FB pokazuje mi posty i twarze, co zajmuje na wysokosc 560px – co przy g+ jest zdecydowanie za dużo ponieważ zostaje duża przestrzeń niezagospodarowanej przestrzeni.
Można, wystarczy CSSem ustawić wysokość odpowiedniego okienka. Tutaj masz pełny przykład http://codepen.io/ziemekpr0/pen/xVyMNx
Generalnie możesz skorzystać albo z atrybutu style i dodać go bezpośrednio do bloku, o tak:
Albo dodać identyfikator do zakładki i później w pliku CSS dodać odpowiednie reguły:
Niestety nie działa z nową wersją jquery. Czy da się coś z tym zrobić? Dzięki bardzo!
Powinno działać, sprawdziłem na codepenie z nową wersją i wszystko działa bez problemu: http://codepen.io/ziemekpr0/pen/xVyMeK
Pokaż swój kod, to postaram się bardziej pomóc.
Pozdrawiam