[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'});
}
});
์์ ์ฝ๋๋ฅผ ์คํํด๋ณด๋ฉด ์คํ๋์ง ์๋๋ค.
-
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 ์ฐจ์ด์
- ์์๊ฐ ๋ฌธ์์์ ๊ณต๊ฐ์ ์๋นํ๋ฉด ํ์๋๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
-
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๋ ๊ฐ๋ฅํ๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
- 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');
}
์์์ 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 is(:visible) for visibility: hidden
what is the difference between visibility: hidden and display: none?
'๐ฉ๐ปโ๐ปSTUDY > jQuery' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[jQuery] class ์ฐพ๊ธฐ (0) | 2021.09.15 |
---|---|
[jQuery] click(), focusin() ์ด๋ฒคํธ ์ถฉ๋ (0) | 2020.07.17 |
[jQuery] ํํฐ๋ง๋ฉ์๋ first() last() eq() filter() not() has() is() map() slice() (0) | 2020.02.18 |
[jQuery] on() off() one() (0) | 2020.02.13 |
[jQuery] queue() & dequeue() (0) | 2020.02.07 |