Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Chmurki w jQuery
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Chmurki w jQuery
Technologie webowe

Chmurki w jQuery

WebInside.pl
Ostatnia aktualizacja: 16.11.2009
WebInside.pl
Udostępnij
Udostępnij

Dzięki frameworkowi jQuery stworzysz w 5 min profesjonalnie wyglądające „chmurki” (ang. „cloud”) opisujące elementy Twojej strony!

Zawartość
Struktura HTMLjQuery – krok pierwszyjQuey – krok drugijQuery + CSS – krok trzeci

Chociaż wielu z nas używa atrybutów 'title’ dla linków i 'alt’ dla obrazków, to tak naprawdę, każdy wie, że poza ich zastosowaniem w pozycjonowaniu czy dostępności strony, same w sobie nie oferują naszej stronie żadnej ciekawej funkconalności.

Dzięki frameworkowi jQuery stworzymy dzisiaj „chmurki” oparte na atrybutach 'title’ oraz 'alt’, które sprawią, że nasza strona nabierze dynamiki.

Struktura HTML

Na początku stwórzmy jakiś prosty szablon HTML, na przykład taki:

<html>    <head>        <title>jQuery - chmurki</title>        <style>        <!--            /* tutaj znajdzie się kod css */        -->           </style>               <script type="text/javascript" src="jquery.js"></script>        <script type="text/javascript">            // tutaj znajdzie się nasz kod jQuery        </script>    </head>    <body>        <!-- div w który będzie naszą chmurką -->        <div id="cloud"></div>               <img src="http://webinside.pl/img/logo.jpg" alt="logo webinside.pl" />        <br />        <a href="http://www.webinside.pl/" title="wortal dla webmasterów">webinside.pl</a>    </body></html>

Ten prosty dokument HTML wyświetli dwa istotne dla nas elementy – obrazek oraz link, oba zostały wyposażone w atrybuty opisujące.

Blok div o identyfikatorze „cloud” będzie natomiast, jak można się domyślić, naszą chmurką – z tym, że póki co tylko pustym kontenerem.

Naszym zadaniem będzie teraz zaprogramowanie jQuery w ten sposób, aby artybuty alt i title były wyświetlane dynamicznie, po najechaniu kursoerm na dany element.

Nim jednak przejdziemy dalej, upewnij się, że do katalogu zawierającego plik z powyższym kodem, zawiera również plik javaScript z biblioteką. Jeśli nie, możesz go pobrać z strony.

jQuery – krok pierwszy

Zanim stworzymy nasz efekt końcowy, proponuję najpierw, stworzyć poniższy „prototyp”, który pozwoli nam zrozumieć zasadę działania jQuery:

<script type="text/javascript">    $(function(){               //obsługa zdarzenia dla obrazków        $('img').mousemove(function(){            var alt = $('img').attr('alt');            $('#cloud').text(alt);        });                   //obsługa zdarzenia dla hiperłączy        $('a').mousemove(function(){            var title = $('a').attr('title');            $('#cloud').text(title);        });           });</script>

Oba zdarzenia działają analogicznie. W momencie wykrycia przez js ruchu kursora nad obiektem, uruchamiana jest funkcja, która w pierwszej kolejności pobiera wartość atrybutów (odpowiedzialna jest za to metoda „attr()”).

Drugi etap działania funkcji obsługującej zdarzenie jest przepisanie właśnie zdobytej wartości, do naszego bloku div (o identyfikatorze „cloud”).

Z resztą – sam sprawdź!

jQuey – krok drugi

Mankamentem powyższego rozwiązania, jest fakt, że nasz prototyp chmurki po pojawieniu się już nie znika. Poprawmy to!

<script type="text/javascript">    $(function(){               // obsługa najechania kursorem na obrazek        $('img').mousemove(function(){            var alt = $('img').attr('alt');            $('#cloud').text(alt);            $('#cloud').show();        });               // obsługa zjazdu kursorem z obrazku        $('img').mouseout(function(){            $('#cloud').hide();        })               // obsługa najechania kursorem na link        $('a').mousemove(function(){            var title = $('a').attr('title');            $('#cloud').text(title);            $('#cloud').show();        });               // obsługa zjazdu kursorem z linku        $('a').mouseout(function(){            $('#cloud').hide();        })           });</script>

Powyższe poprawki usprawniły działanie kodu. Teraz nasz prototyp chmurki pojawia się i chowa – w zależności od pozycji kursora. Od strony jQuery to jednak nadal nie wszystko..

jQuery + CSS – krok trzeci

Jesteśmy już na finiszu. Dodamy teraz do naszego kodu, dosłownie kilka linijek, które będą odpowiedzialne za informowanie „chmurki” o pozycji. Ostateczny kod jQuery wygląda tak:

<script type="text/javascript">    $(function(){           // obsługa ruchu kursora na obrazku        $('img').mousemove(function(e){            var alt = $('img').attr('alt');            $('#cloud').text(alt);            $('#cloud').show();            $('#cloud').css({'top': e.pageY + 5, left: e.pageX + 5});        });               // obsługa zjazdu kursorem z obrazku        $('img').mouseout(function(){            $('#cloud').hide();        })               // obsługa ruchu kursora na linku        $('a').mousemove(function(e){            var title = $('a').attr('title');            $('#cloud').text(title);            $('#cloud').show();            $('#cloud').css({'top': e.pageY + 5, left: e.pageX + 5});        });        // obsługa zjazdu kursorem z linku        $('a').mouseout(function(){            $('#cloud').hide();        })           });</script>

Powyżej dokonałem dwóch analogicznych zmian. Po pierwsze dodałem obiekt 'e’ dla obsługi myszki (może brzmi to jakoś zawile, ale zaraz wszystko się rozjaśni). Druga poprawka to kod:

$('#cloud').css({'top': e.pageY + 5, left: e.pageX + 5}); 

Metoda 'css({});’ to jak można się domyśleć modyfikator stylu elementu. Dzięki zadeklarowanemu wcześniej obiektowi 'e’ możemy odwołać się teraz do wartości 'pageY’ i 'pageX’, które kolejno oznaczają: odległość od marginesu górnego oraz odległość od marginesu lewego.

Ten fragment odświeżany będzie za każdym razem, kiedy pozycja kursora (na wskazanym elementem) będzie się zmieniać.

W połączeniu z poniższym fragmentem CSS, „chmurka” będzie podążać za kursorem.

<style>    #cloud {        position: fixed;        background: silver;        height: 20px;        width: 200px;        text-align: center;        color: white;        opacity: 0.9;        display: none;    }</style>

Najistotniejsze jest aby nadać width (szerokość), height (wysokość), 'position: fixed’ (dzięki czemu „chmurka” będzie mogła mieć odpowiednią odległość od obu marginesów) oraz 'display: none’ (dzięki, któremu na początku strony „chmurka” jest niewidoczna). Reszta elementów to kosmetyka.

Całość prezentuje się tak:

<html>    <head>        <title>jQuery - chmurki</title>        <style>        #cloud {            position: fixed;            background: silver;            height: 20px;            width: 200px;            text-align: center;            color: white;            opacity: 0.9;            display: none;        }        </style>               <script type="text/javascript" src="jquery.js"></script>        <script type="text/javascript">        $(function(){           // obsługa ruchu kursora na obrazku        $('img').mousemove(function(e){            var alt = $('img').attr('alt');            $('#cloud').text(alt);            $('#cloud').show();            $('#cloud').css({'top': e.pageY + 5, left: e.pageX + 5});        });               // obsługa zjazdu kursorem z obrazku        $('img').mouseout(function(){            $('#cloud').hide();        })               // obsługa ruchu kursora na linku        $('a').mousemove(function(e){            var title = $('a').attr('title');            $('#cloud').text(title);            $('#cloud').show();            $('#cloud').css({'top': e.pageY + 5, left: e.pageX + 5});        });        // obsługa zjazdu kursorem z linku        $('a').mouseout(function(){            $('#cloud').hide();        })               });        </script>    </head>    <body>        <div id="cloud"></div>        <img src="http://webinside.pl/img/logo.jpg" alt="logo webinside.pl" />        <br />        <a href="http://www.webinside.pl/" title="wortal dla webmasterów">webinside.pl</a>    </body></html>

W istocie – więcej jest tutaj pisania niż rozumienia – jeśli na spokojnie przeanalizujesz kod to nie będziesz miał problemów ze zrozumieniem.

Zachęcam do eksperymentowania z jQuery, nie zapominając o wielkim dobrodziejstwie jakim jest dokumentacja – .

Może Cię zainteresować

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

WebInside.pl 2009-11-16 2009-11-16
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Społeczność hakerów
Następny artykuł Luki w przeglądarkach a bezpieczeństwo w Internecie
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy

Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?