[jQuery] :visible ์กฐ๊ฑด

2020. 4. 1. 17:55ยท๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/jQuery

[jQuery] :visible ์กฐ๊ฑด

Q. $('.box').is(':visible') ์‹คํ–‰๋˜์ง€ ์•Š์„๊นŒ?

๋จผ์ € ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

<button type="button">click</button>
<div class="box"></div>
.box {
  display: block;
  width: 200px; height: 200px;
  background-color: green;
  /* ์ˆจ๊ฒจ์ค€๋‹ค. */
  opacity: 0;
  visibility: visible;
}
$('button').on('click', function() {
  if(!$('.box').is(':visible')) {
    // box visible.
    $('.box').css({opacity: 1, visibility: 'visible'});
  } else {
    // box hidden.
    $('.box').css({opacity: 0, visibility: 'hidden'});
  }
});

์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋ฉด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.

  1. jQuery visible๋ฅผ ๋ณด์ž.

    jQuery(':visible') :: ๋ณด์ด๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ์„ ํƒํ•œ๋‹ค.

    ๋ณด์ด๋Š” ์š”์†Œ๋Š” ๋„ˆ๋น„๋˜๋Š” ๋†’์ด๊ฐ€ 0๋ณด๋‹ค ํฌ๋‹ค.

    ๋ฐ˜๋Œ€ ๊ฐœ๋…์ธ :hidden์€ ๊ณต๊ฐ„ ์†Œ๋น„๊ฐ€ ์—†์œผ๋ฉฐ ํ‘œ์‹œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

    → display: none์€ ์„ฑ๋ฆฝ.

    ์ฆ‰, visibility: hidden / opacity: 0์€ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•œ๋‹ค.

     

    visibility=hidden , opacity: 0 ์€ display: none๊ณผ ๋‹ค๋ฅด๋‹ค.

    • visibility: hidden / opacity: 0

      • ํƒœ๊ทธ๋Š” ๋ณด์ด์ง€ ์•Š์ง€๋งŒ, ํ•˜๋‚˜์˜ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋‹ค
    • display: none

      • ํ•ด๋‹น ํƒœ๊ทธ๊ฐ€ ํŽ˜์ด์ง€์— ์ „ํ˜€ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š”๋‹ค

์ด์ „๊ธ€ ๋ณด๊ธฐ 2020/03/31 - [๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/CSS] - [CSS] opacity / visibility / display ์ฐจ์ด์ 

 

  1. ์š”์†Œ๊ฐ€ ๋ฌธ์„œ์—์„œ ๊ณต๊ฐ„์„ ์†Œ๋น„ํ•˜๋ฉด ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.
  2. is(':visible') ๋ฅผ ๋ณด์ž.

    visible === true :: ๊ณต๊ฐ„์„ ์ฐจ์ง€.

    visible === false :: ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜์ง€ ์•Š์Œ.

    => false์กฐ๊ฑด ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ณต๊ฐ„์ด ์žˆ๋Š” visibility: hidden / opacity: 0์€ ์กฐ๊ฑด์„ฑ๋ฆฝ์ด ๋˜์ง€ ๋ชปํ•œ๋‹ค.

 

[โ–ผ์˜ˆ์ œ :: display: none / visibility: hidden / opacity: 0]

 

1๊ณผ 2๋Š” pointed out๋˜์—ˆ๋‹ค. (anchor focus๊ฐ€ ์žกํžˆ์ง€ ์•Š์Œ.) ํ•˜์ง€๋งŒ 2๋Š” ์—ฌ์ „ํžˆ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

3์€ ๊ณต๊ฐ„๋„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  click๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  1. css ์†์„ฑ์„ ๊ฐ€์ ธ์™€์„œ ์“ด๋‹ค.
.box {
  width: 200px; height: 200px;
  opacity: 0;
  visibility: hidden;
}
if($('.box').css('visibility') === 'visible') {
  $('.box').animate({opacity: 1}, 500).css({visibility: 'visible'});
} else {
  $('.box').animate({opacity: 0}, 500).css({visibility: 'hidden'});
  // opacity๊ฐ€ animate ๋˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ hidden ๋œ๋‹ค.
  // fadeIn(), fadeOut() ์ด๋ฒคํŠธ์ฒ˜๋Ÿผ ๋ฐœ์ƒ๋˜์ง€ ์•Š๋Š”๋‹ค.
}
  • fadeIn() / fadeOut() ์ด๋ฒคํŠธ์ฒ˜๋Ÿผ ํ•ด์ฃผ๋ ค๋ฉด,
.box {
  width: 200px; height: 200px; background-color: green;
  opacity: 0; visibility: hidden;
  transition-property: opacity, visibility;
  transition-duration: 0.5s, 0s;
  transition-delay: 0s, 0.5s;
}
.box.on {
  opacity: 1; visibility: visible;
  transition-property: visibility, opacity;
  transition-duration: 0s, 0.5s;
}
if($('.box').css('visibility') === 'visible') {
  $('.box').removeClass('on');
} else {
  $('.box').addClass('on');
}

 

 

  1. ์š”์†Œ์— inline / inline-block / block ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.
.box {
  display: none;
  width: 200px; height: 200px;
  background-color: green;
}
if(!$('.box').is(':visible')) {
  $('.box').css({display: 'block'});
  // $('.box').show();
  // $('.box').fadeIn();
} else {
  $('.box').css({display: 'none'});
  // $('.box').hide();
  // $('.box').fadeOut();
}

 


 

์ถœ์ฒ˜

jQuery .is(":visible") not working in Chrome

jQuery:visible Selector

jQuery is(:visible) for visibility: hidden

what is the difference between visibility: hidden and display: none?

transitions on the CSS display property

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/jQuery' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [jQuery] class ์ฐพ๊ธฐ
  • [jQuery] click(), focusin() ์ด๋ฒคํŠธ ์ถฉ๋Œ
  • [jQuery] ํ•„ํ„ฐ๋ง๋ฉ”์†Œ๋“œ first() last() eq() filter() not() has() is() map() slice()
  • [jQuery] on() off() one()
jmjm
jmjm
  • jmjm
    /* jmjmjm */
    jmjm
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (135)
      • ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY (96)
        • HTML (9)
        • CSS (25)
        • SASS (4)
        • JavaScript (17)
        • jQuery (9)
        • Publishing (8)
        • Git (11)
        • React (11)
        • Vue (0)
        • ์›น์ ‘๊ทผ์„ฑ (1)
        • Gulp (1)
      • ๐ŸฃcodeLab (28)
      • ๐ŸŒˆetc (8)
      • ๐Ÿฅฐ ์ผ์ƒ (2)
      • ๐ŸŒŸ์ฝ์–ด๋ณด๊ธฐ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    CSS ์„ ํƒ์ž
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹ ๋ฌธ
    HTML Form
    ์•„์ฝ”๋””์–ธ๋ฉ”๋‰ด
    ๋ง์ค„์ž„ ํ˜ธ๋ฒ„
    sass compiler
    javascript ์ปฌ๋ ‰์…˜
    react import export
    javascript htmlcollection nodelist
    ํ˜•์ œ์ธ์ ‘์ž
    ๋ง์ค„์ž„ tooltip
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹๋ฌธ
    javascript nodelist
    ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋˜๋Š” ์ด์œ 
    ๋ง์ค„์ž„ ํˆดํŒ
    css ๊ฐ€์ƒ์„ ํƒ์ž
    javascript htmlcollection
    ์›น์ ‘๊ทผ์„ฑ
    css ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋ผ์š”
    css flex
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ปฌ๋ ‰์…˜
    ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น ์ข…๋ฅ˜
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    vscode ๋‹จ์ถ•ํ‚ค
    ๋ง์ค„์ž„ hover
    javascript ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    html collection
    ํ˜•์ œ์ธ์ ‘์ž display none
    sass
    sticky jsfiddle
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
jmjm
[jQuery] :visible ์กฐ๊ฑด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”