• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ukrycie elementu klikając w button lub w body

VPS Starter Arubacloud
0 głosów
179 wizyt
pytanie zadane 14 lutego 2019 w JavaScript przez Kinga Nowicjusz (210 p.)
edycja 15 lutego 2019 przez Kinga

Witam. Jestem na początku nauki JS i jQuery. Pracując nad stroną internetową z udziałem jQuery napotkałam problem, którego od dłuższego czasu niestety nie mogę rozwiązać. Chciałabym uzyskać następujący efekt: Klikając w button pojawiłby się span z treścią. W celu jego ukrycia użytkownik miałby dwie możliwości do wyboru, kliknąć ponownie w owy button, bądź w body. Mój problem polega na tym, że udało mi się uzyskać jedynie częściowo w/w efekt. Sekcja pojawia się i znika z efektem "slideToggle" po kliknięciu w button, jednak klikając w body sekcja znika już bez efektu wspomnianej animacji "slideToggle". Jak w takim razie rozwiązać ten problem, aby w przypadku obu możliwości sekcja pojawiała się i znikała z efektem animacji? Bardzo proszę o na kierunkowanie mnie na właściwe tory ;) Z góry bardzo dziękuję.

<div class="main-section">
        <button class="btn">Click</button>
        <span class="text-section">Hello World!</span>
</div>
.btn {
    width: 100px;
    height: 30px;
    background-color: black;
    color: white;
    border: none;
    margin: 20px;
    cursor: pointer;
}

.text-section {
display: none;
}
$('.btn').click(function (e) {
        e.stopPropagation();
        $('.text-section').slideToggle();
});

$('.text-section').on("click", function (e) {
        e.stopPropagation();
});

$('body').on("click", function () {
    $('.text-section').hide();
});

 

1 odpowiedź

0 głosów
odpowiedź 14 lutego 2019 przez IBB Gaduła (3,020 p.)
$('body').on("click", function () {
    $('.text-section').hide();
});

Zmien hide() na slideToggle()

komentarz 15 lutego 2019 przez pablop76 VIP (123,340 p.)

raczej 

$('.text-section').slideUp();

przy toogle klikając na body również pojawi się tekst a ma tylko się chować

komentarz 15 lutego 2019 przez Kinga Nowicjusz (210 p.)
Próbowałam już wcześniej użyć opcji slideUp, z tym że w moim przypadku po kliknięciu w body z pomocą tej opcji pojawia się i znika sekcja z tekstem, a chciałabym jedynie, aby po kliknięciu znikała. Być może winny jest zaistniałej sytuacji źle napisany kod pod ową funkcję? :)
komentarz 15 lutego 2019 przez pablop76 VIP (123,340 p.)

No właśnie tak działa.

$('.btn').click(function (e) {
e.stopPropagation();
$('.text-section').slideToggle();
});

$('body').click(function () {
$('.text-section').slideUp();
});

 

Podobne pytania

0 głosów
2 odpowiedzi 110 wizyt
pytanie zadane 26 kwietnia 2023 w JavaScript przez zbiku25 Gaduła (3,000 p.)
+1 głos
2 odpowiedzi 154 wizyt
0 głosów
2 odpowiedzi 268 wizyt

93,016 zapytań

141,977 odpowiedzi

321,272 komentarzy

62,361 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...