Pokaż wyniki od 1 do 3 z 3

Wątek: Optymalizacja kodu

  1. #1
    Zarejestrowany
    Dołączył
    Oct 2012
    Posty
    1

    Domyślnie Optymalizacja kodu

    Witam

    posiadam taki kod

    Kod html:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="pl-PL">
    
            <head>
                    <title>MouseMove</title>
                    <meta http-equiv="Content-Type"
                    content="text/html; charset=utf8" />
                    <!-- dodanie jQuery do dokumentu -->
                    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
                    <style type="text/css">
                            .bg1 {
                                    background: #E8E8E8;
                            }
                            .bg2 {
                                    background: #D4D4D4;
                            }
                            ul {
                                    list-style-type: none;
                            }
                            ul li p {
                                    position: fixed;
                                    background-color: #DDDDDD;
                                    display: none;
                                    z-index: 1;
                                    width: 300px;
                            }
                    </style>
                    <!-- Nasz kod Javascript: -->
                    <script type="text/javascript">
                            $(document).ready(
    
                            function ()
                            {
                                    $("ul li").hover(function ()
                                    {
                                            $(this).children("p").toggle();
                                            $(this).mousemove(function (e)
                                            {
                                                    $("ul li").children("p").css("top", e.pageY + 5);
                                                    $("ul li").children("p").css("left", e.pageX + 5);
                                            });
                                    }, function ()
                                    {
                                            $(this).children("p").toggle();
                                    });
    
    
                            });
                    </script>
            </head>
    
            <body>
                    <ul>
                            <li>Jeden
                                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
                            </li>
                            <li>Dwa
                                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin vitae
                                            mi.</p>
                            </li>
                            <li>Trzy
                                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin vitae
                                            mi. Proin dignissim ligula vitae metus. Etiam imperdiet. Aenean nonummy
                                            lorem ut quam.</p>
                            </li>
                    </ul>
            </body>
    
    </html>
    Zastanawiam się, jak teraz przerzucić ten kawałek:
    Kod:
     $(this).mousemove(function (e)
    {
            $("ul li").children("p").css("top", e.pageY + 5);
            $("ul li").children("p").css("left", e.pageX + 5);
    }
    do osobnej funkcji. W javascript niestety dopiero zaczynam i nie mam pojęcia, na jakiej zasadzie powinno to działać.

  2. #2
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    twojafunkcja = function (e)
    {
    $("ul li").children("p").css("top", e.pageY + 5);
    $("ul li").children("p").css("left", e.pageX + 5);
    }

    $(this).mousemove(function (e)
    {
    twojafunkcja(e);
    }
    Ja preferuje taki zapis. Wtedy latwiej operowac funkcjami. Istnieje jeszcze zapis alternatywny ale mi sie mniej podoba bo jest mniej intuicyjny. W JS najlepiej traktowac funkcje jako zawartosc zmiennej. Tak samo lepiej przypisywac je do zmiennych jako funkcje anonimowe a nie przez odgorne deklarowanie jak w tym przypadku:

    function twojafunkcja (e)
    {
    $("ul li").children("p").css("top", e.pageY + 5);
    $("ul li").children("p").css("left", e.pageX + 5);
    }

  3. #3
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Ew. jeśli chciałbyś zrobić to w stylu $('ul li').funkcja({a=1}) - http://www.altcontroldelete.pl/artyk...zerzen-jquery/.

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. powtarzanie kodu
    Przez TheSxW w dziale PHP / MySql
    Odpowiedzi: 4
    Ostatni post / autor: 20-04-2012, 21:52
  2. modyfikacja kodu
    Przez zone22 w dziale JavaScript/AJAX
    Odpowiedzi: 2
    Ostatni post / autor: 21-02-2010, 15:58
  3. Rozwinięcie kodu.
    Przez Erossek w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 22
    Ostatni post / autor: 01-08-2008, 12:20
  4. [php/mysql] Optymalizacja fragmentu kodu..
    Przez Kiri w dziale PHP / MySql
    Odpowiedzi: 24
    Ostatni post / autor: 04-06-2008, 23:13
  5. Kolorowanie kodu
    Przez JAWS w dziale Administracja
    Odpowiedzi: 12
    Ostatni post / autor: 02-06-2008, 21:47

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •