• 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

0 głosów
285 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,580 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,580 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 274 wizyt
pytanie zadane 26 kwietnia 2023 w JavaScript przez zbiku25 Gaduła (3,000 p.)
+1 głos
2 odpowiedzi 260 wizyt
0 głosów
2 odpowiedzi 354 wizyt

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2459p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...