Webboard

Pełna wersja: Przebudowa kodu JS
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Cześć.

Mam kod który wyświetla forum po kliknięciu w atrybut z daną klasą
Kod:
<script type="text/javascript">
jQuery(document) .ready(function() {    
$('.enmenupm').on('click', function(){
        $('.enmenupmopen').slideToggle('100');
        return false;
    });
    $('html, body').on('click',function(){
        $('enmenupmopen').slideUp('100');
    });
    $("enmenupmopen").click(function(e){
        e.stopPropagation();
    });
});
</script>

Problem polega na tym że menu zniknie tylko po ponownym kliknięciu w ten sam element, jak mogę to przerobić aby menu znikało np po kliknięciu "gdzieś na forum"
Wystarczy zbadać, czy kliknięcie odbyło się po za elementem, następnie ukryć menu.

Pierwszy link z wyszukiwarki: https://stackoverflow.com/questions/2868...-in-jquery
Mogę prosić o gotowe rozwiązanie ? Nie potrafi nic z tego wyczytać
(24.09.2017, 00:10)p0y3b napisał(a): [ -> ] Mogę prosić o gotowe rozwiązanie ? Nie potrafi nic z tego wyczytać
To do działu giełdy ogłoszeń.
Ale czego w tym kodzie nie rozumiesz? Pokaż jak to zrobiłeś.
Kod:
$(window).click(function() {
//Hide the menus if visible
});

$('#menucontainer').click(function(event){
    event.stopPropagation();
});
Wystarczy dodać kod na chowanie menu i zmienić kotwicę na taką jaką masz w menu.
Niczego nie rozumiem z tego JS, nie potrafię tego podstawić
Metoda prób i błędów.

Spróbuj sam, pomyśl logicznie kiedy jaka akcja ma się wykonać, potem jeśli coś Ci nie wyjdzie, przedstaw tutaj zmodyfikowany kod wraz z konsolą błędów.
Proszę Was <3

Kod był dobry

Lecz brakowało w nim "kropki" przed klasą : D
Wracając, jak mogę przyśpieszyć pokazywanie okna to trybu natychmiastowego
slideToggle jak i slideUp jako pierwszy parametr przyjmuje czas trwania. Wszystko w dokumentacji jest opisane wystarczy wyszukać daną funkcję.
http://api.jquery.com/slidetoggle/#slide...n-complete
http://api.jquery.com/slideup/#slideUp-d...n-complete
Zmieniłem oba parametry na 1 i nie odczuwalne
Pokaż jakiekolwiek demo tego menu.
Skorzystałem z 

Kod:
<script>
jQuery(function() {
    var button = jQuery('#loginButton');
    var box = jQuery('#loginBox');
    var form = jQuery('#loginForm');
    button.mouseup(function(login) {
        box.toggle();
        button.toggleClass('active');
    });
    form.mouseup(function() { 
        return false;
    });
    jQuery(this).mouseup(function(login) {
        if(!(jQuery(login.target).parent('#loginButton').length > 0)) {
            button.removeClass('active');
            box.hide();
        }
    });
});
</script>