Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JQUERY] hover i wykonywanie akcji
Forum PHP.pl > Forum > XML, AJAX
marian84
Mam problem z hover dla jquery.
Problem polega na tym, że pierwsze najechanie na <li> nie wywoluje funkcji. Dopiero po drugim najechaniu funkcja raczy się wywołać

Kod
<script type="text/javascript">
        function pok(id)
        {
            var p = $("#li"+id);
            var str = $("#start_menu");
            var position = p.position();
            var positionS = str.position();
            var ods= position.left - positionS.left;
            var odleglosc="-"+ods+"px";
            $("#sub_"+id).css("margin-left", odleglosc);
            
            $("#li"+id).hover(
            function(){
                $("#a"+id).addClass("active2");
                $("#sub_"+id).fadeIn();
            },
            function(){
                $("#sub_"+id).fadeOut();
                $("#a"+id).removeClass("active2");
            });
        }
    </script>



kamil4u
Stwórz jakieś demo i nam pokaż jak to działa. Tylko jak najmniejszą ilość kodu proszę smile.gif
marian84
problem rozwiazany, dzieki za zainteresowanie
kamil4u
Wypadałoby napisać co było nie tak i jak to naprawiłeś. Możliwe, że ktoś będzie miał podobny problem i Twój temat się komuś przyda.

Choć prawdopodobnie, zrobiłeś błąd( jakieś niedopatrzenie ) w innym miejscu( dlatego też prosiłem o demo )
marian84
Wywaliłem wywołanie funkcji dla li pok() (np <li onmouseover="pok(3)">slowo</li>) i dodałem wywolanie z jquery
Kod
<script type="text/javascript">
        $(document).ready(function(){
            $("li#li").hover(function(){
                $(this).children(".sub-links").fadeIn();
                
                var p = $(this);
                var str = $("#start_menu");
                var position = p.position();
                var positionS = str.position();
                var ods= position.left - positionS.left;
                var odleglosc="-"+ods+"px";
                $(this).children(".sub-links").css("margin-left", odleglosc);
                $(this).children("a").addClass("active2");
            },function(){
                $(this).children(".sub-links").fadeOut();
                $(this).children("a").removeClass("active2");
            });
        });
    </script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.