Nag
Nag
나그(Nag)는 사용자가 닫기 전까지 계속 남아 있는 중요한 메시지 컴포넌트예요. 쿠키 사용 동의, 보안 침해 같은 주요 공지처럼 한 번 보여주고 사용자가 인지할 때까지 지속되는 알림에 활용합니다.
출처: 문서
본문
Types
나그는 기본적으로 숨겨져 있으며, 표시하려면 javascript로 초기화해야 해요. 자세한 내용은 usage 섹션을 참고하세요.
Nag
단순 나그는 선언된 DOM 위치에 나타나요.
Look, I am a nag!
Title
나그는 제목을 가질 수 있어요.
Welcome to the nag module
Look, I am a nag!
Fixed Nag
고정(fixed) 나그는 화면 상단에 나타나요.
Look, i am a fixed nag!
/*
persist:true is used to ignore dismiss storage when closing
for demo purposes here, not related to 'fixed' variant
*/
$('#fixednag')
.nag({
persist:true
})
;
고정 나그는 화면 하단에 나타날 수도 있어요.
Look, I am a bottom fixed nag!
$('#bottomfixednag')
.nag({
persist:true
})
;
Overlay Nag
오버레이 나그는 절대 위치(absolute)로 배치되어 부모 DOM 노드의 상단에 나타나요.
Welcome to the nag module
Look, I am a top overlay nag!
오버레이 나그는 부모 노드의 하단에 나타날 수도 있어요.
Welcome to the nag module
Look, I am a bottom overlay nag!
Groups
Nags
나그 그룹은 함께 나타나도록 서식화할 수 있어요.
First nag
Second nag
Third nag
Variations
Colored
나그는 서로 다른 색상으로 서식화할 수 있어요.
Red
Orange
Yellow
Olive
Green
Teal
Blue
Violet
Purple
Pink
Brown
Black
Inverted
나그는 inverted로 나타나도록 서식화할 수 있어요.
Inverted
This nag has inverted colors
Size
나그는 다양한 크기를 가질 수 있어요.
Mini nag
Tiny nag
Small nag
Large nag
Big nag
Huge nag
Massive nag
Examples
We use cookies to ensure you get the best experience on our website
// Automatically shows on init if cookie isn't set
$('.cookie.nag')
.nag({
key : 'accepts-cookies',
value : true
})
;
// Wont re-appear unless cleared
$('.cookie.nag')
.nag('show')
;
// Clears cookie so nag shows again
$('.cookie.nag')
.nag('clear')
;
이 예제는 쿠키 사용 동의 나그예요. 쿠키가 설정되지 않았으면 init 시 자동으로 표시되고, 지워지지 않으면 다시 나타나지 않아요. 지우면 다시 표시돼요.
Usage
나그는 사용자에게 한 번 표시되는 메시지를 제시해, 사용자가 메시지를 인지할 때까지 지속되게 하는 데 사용돼요. 사이트의 쿠키 사용 알림이나, 보안 침해 같은 사이트의 주요 변경 사항을 알리는 데 쓸 수 있어요.
Initializing a Nag
$('.ui.nag')
.nag()
;
Welcome to the nag module
Some additional Info here
Behaviors
다음 모든 행동들은 다음 구문을 사용해 호출할 수 있어요:
.ui.nag').nag('behavior', argumentOne, argumentTwo...);
- show — 나그가 닫혀 있지 않고 저장소에 만료 날짜가 설정되어 있지 않으면 나그를 보여줘요.
- hide — 나그를 숨겨요.
- dismiss — 나그를 닫고 주어진 저장소에 만료 날짜를 설정해 다음에 나그가 표시되지 않게 해요.
- clear — 이미 설정된 만료 날짜를 삭제해 다음에 나그가 다시 표시되게 해요.
- destroy — 인스턴스를 파괴하고 모든 이벤트를 제거해요.
Settings
Nag Settings
나그 동작을 구성하는 설정이에요.
| 설정 | 기본값 | 설명 |
|---|---|---|
persist |
false |
true는 이미 닫혀 있어도 나그를 표시하지만, 설정된 만료 날짜는 그대로 유지해요. |
displayTime |
0 |
나그가 자동으로 숨겨질 때까지의 ms 단위 시간이에요. 0이면 수동으로 닫아야 하며, 그렇지 않으면 스스로 숨겨요. |
context |
body |
나그를 연결할 영역을 지정하는 선택자 또는 jQuery 객체예요. |
detachable |
false |
true로 설정하면 주어진 context 노드에 나그를 다시 연결해요. |
expires |
30 |
쿠키/localstorage의 만료까지 일 수 또는 Date 객체예요. |
domain |
false |
쿠키 옵션이에요. |
path |
/ |
쿠키 옵션이에요. |
secure |
false |
쿠키 옵션이에요. |
samesite |
false |
쿠키 옵션이에요. |
storageMethod |
cookie |
나그가 닫힐 때 만료 날짜를 저장할 저장소예요. cookie, localstorage, sessionstorage 중 하나일 수 있어요. |
key |
nag |
dismissed localstorage/cookie에 저장할 키예요. |
value |
dismiss |
dismissed localstorage/cookie에 저장할 값이에요. |
expirationKey |
ExpirationDate |
localstorage에서 만료를 지원하기 위한 키 접미사예요. |
animation |
{ show : 'slide', hide : 'slide' } |
열기/닫기 애니메이션의 트랜지션 스타일이에요. slide 또는 fade일 수 있어요. |
duration |
500 |
열기/닫기 애니메이션의 시간이에요. |
easing |
easeOutQuad |
열기/닫기 애니메이션의 이징이에요. EaseOutQuad는 nag에 포함되어 있고, 추가 옵션을 원하면 이징 방정식을 포함해야 해요. |
Callbacks
Callbacks는 특정 행동 이후 발생할 함수를 지정해요.
| 콜백 | 매개변수 | 설명 |
|---|---|---|
onShow |
$module |
나그가 표시되기 전의 콜백이에요. 이 콜백에서 false를 반환하면 나그가 표시되지 않도록 취소해요. |
onVisible |
$module |
나그가 표시된 후의 콜백이에요. |
onHide |
$module |
나그가 숨겨지기 전의 콜백이에요. 이 콜백에서 false를 반환하면 나그가 숨겨지지 않도록 취소해요. |
onHidden |
$module |
나그가 숨겨진 후의 콜백이에요. |
DOM Settings
DOM 설정은 이 모듈이 DOM과 어떻게 인터페이스할지 지정해요.
| 설정 | 기본값 | 설명 |
|---|---|---|
namespace |
nag |
이벤트 네임스페이스예요. |
selector |
{ close : '> .close.icon' } |
내부적으로 사용되는 DOM 선택자예요. |
className |
{ bottom : 'bottom', fixed : 'fixed' } |
상태에 스타일을 연결하는 데 사용되는 클래스 이름이에요. |
Debug Settings
Debug 설정은 콘솔에 대한 디버그 출력을 제어해요.
| 설정 | 기본값 | 설명 |
|---|---|---|
name |
Nag |
디버그 로그에 사용되는 이름이에요. |
silent |
false |
모든 콘솔 출력을 조용히 만들어요. |
debug |
false |
콘솔에 표준 디버그 출력을 제공해요. |
performance |
true |
콘솔에 표준 디버그 출력을 제공해요. |
verbose |
false |
콘솔에 보조 디버그 출력을 제공해요. |
errors |
{ noStorage : 'Unsupported storage method', method : 'The method you called is not defined.', setItem : 'Unexpected error while setting value', expiresFormat : '"expires" must be a number of days or a Date Object' } |
오류 메시지 설정이에요. |
더 알아보기 (Learn more)
나그로 쿠키 동의나 중요 공지를 사용자가 인지할 때까지 지속해서 보여줄 수 있어요. 저장 방식과 만료 설정을 잘 활용해 한 번만 표시되는 알림을 만들어 보세요. 일시적인 알림은 Toast 문서도 함께 참고하세요.