무제한 액세스를 위해 "클럽에 가입"하도록 유도하는 간단한 모달을 통해 웹사이트를 탐색하면서 막 손이 닿지 않는 흥미로운 콘텐츠를 엿본다고 상상해 보십시오. 이 미묘하면서도 효과적인 디자인은 호기심을 자극하는 동시에 행동을 장려합니다. 이 튜토리얼에서는 사용자를 끌어들이는 우아한 콘텐츠 페이드 효과로 완성된 Nuxt 3의 PrimeVue 대화 구성 요소를 사용하여 이러한 경험을 구축하겠습니다.
참고: 이는 바닐라 JS에서나 PrimeVue를 사용하지 않고도 쉽게 디자인할 수 있습니다.
심리적 효과에 초점을 맞추면서 이 매혹적인 모달 경험을 만들어 보겠습니다. 사용자가 거부할 수 없는 클럽 가입을 위해 콘텐츠의 일부를 미리 볼 수 있도록 합니다.
목표는 간단합니다. 사용자가 로그인하지 않은 경우 "클럽 가입" 모달을 표시하고 배경 콘텐츠를 페이드하여 그 아래에 있는 내용을 암시합니다. 이 기술은 강력한 동기 부여 요인인 호기심을 활용하여 가입을 유도합니다.
join-the-club.vue 파일을 생성하고 기본 스크립트와 템플릿을 설정합니다.
<script setup> const showLoginDialog = ref(true); // Controls the modal visibility const email = ref(''); // Holds the user's email input // Dynamic body class to manage overflow const body_class = computed(() => ({ overflow: showLoginDialog.value, })); // Join the club function (placeholder for now) const joinClub = async () => { console.log('User email:', email.value); }; // Placeholder function for sign-in click const onSigninClicked = (event) => { console.log('Sign-in clicked'); }; </script>
여기서는 다음을 정의합니다.
PrimeVue의 Dialog 구성 요소를 사용하여 우아하고 방해가 되지 않으며 목적에 맞는 모달을 만들어 보겠습니다. 모달은 명확한 행동 촉구를 제공하고 의사결정 과정을 단순화합니다.
<template> <Body :class="body_class" /> <!-- Background overlay with fade effect --> <div v-if="showLoginDialog"> <ul> <li> <strong>Content Preview</strong> : The gradient overlay provides a teaser of what’s underneath, enticing the user to explore.</li> <li> <strong>PrimeVue Dialog</strong> : This non-dismissable modal focuses the user’s attention while still being friendly.</li> </ul> <hr> <p><strong>2220+ FREE</strong> <u><b><strong>RESOURCES</strong></b></u> <strong>FOR DEVELOPERS!! ❤️</strong> ?? <strong><sub><strong>(updated daily)</strong></sub></strong></p> <blockquote> <p>1400+ Free HTML Templates<br><br> 351+ Free News Articles<br><br> 67+ Free AI Prompts<br><br> 315+ Free Code Libraries<br><br> 52+ Free Code Snippets & Boilerplates for Node, Nuxt, Vue, and more!<br><br> 25+ Free Open Source Icon Libraries</p> </blockquote> <p>Visit dailysandbox.pro for free access to a treasure trove of resources!</p> <hr> <h3> Part 3: Styling for Engagement </h3> <p>Great functionality deserves great styling. Let’s add CSS to enhance the user experience.</p> <h4> Styling the Overlay and Modal </h4> <pre class="brush:php;toolbar:false"><style lang="less" scoped> .content-auth-overlay { position: fixed; top: 55px; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(255, 255, 255, 10%), rgba(255, 255, 255, 100%)); z-index: 1000; pointer-events: all; opacity: 1; } .join-club { display: flex; align-items: center; margin-top: 30px; margin-bottom: 20px; width: 100%; @media @mobile { flex-flow: column; align-items: normal; gap: 15px; } } .email-input { font-size: 1.2rem; } .email-control { font-size: 1rem; white-space: nowrap; overflow: unset; padding: 11px; margin-left: 10px; } </style>
joinClub 기능은 이 모달의 핵심입니다. 사용자 이메일 제출을 처리하고 가입을 위한 백엔드 로직을 실행합니다.
<script setup> const showLoginDialog = ref(true); // Controls the modal visibility const email = ref(''); // Holds the user's email input // Dynamic body class to manage overflow const body_class = computed(() => ({ overflow: showLoginDialog.value, })); // Join the club function (placeholder for now) const joinClub = async () => { console.log('User email:', email.value); }; // Placeholder function for sign-in click const onSigninClicked = (event) => { console.log('Sign-in clicked'); }; </script>
이제 Join-the-club.vue 구성 요소를 기본 앱에 통합하세요. 예를 들어, 사용자의 인증 상태에 따라 조건부로 가져와 사용할 수 있습니다.
<template> <Body :class="body_class" /> <!-- Background overlay with fade effect --> <div v-if="showLoginDialog"> <ul> <li> <strong>Content Preview</strong> : The gradient overlay provides a teaser of what’s underneath, enticing the user to explore.</li> <li> <strong>PrimeVue Dialog</strong> : This non-dismissable modal focuses the user’s attention while still being friendly.</li> </ul> <hr> <p><strong>2220+ FREE</strong> <u><b><strong>RESOURCES</strong></b></u> <strong>FOR DEVELOPERS!! ❤️</strong> ?? <strong><sub><strong>(updated daily)</strong></sub></strong></p> <blockquote> <p>1400+ Free HTML Templates<br><br> 351+ Free News Articles<br><br> 67+ Free AI Prompts<br><br> 315+ Free Code Libraries<br><br> 52+ Free Code Snippets & Boilerplates for Node, Nuxt, Vue, and more!<br><br> 25+ Free Open Source Icon Libraries</p> </blockquote> <p>Visit dailysandbox.pro for free access to a treasure trove of resources!</p> <hr> <h3> Part 3: Styling for Engagement </h3> <p>Great functionality deserves great styling. Let’s add CSS to enhance the user experience.</p> <h4> Styling the Overlay and Modal </h4> <pre class="brush:php;toolbar:false"><style lang="less" scoped> .content-auth-overlay { position: fixed; top: 55px; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(255, 255, 255, 10%), rgba(255, 255, 255, 100%)); z-index: 1000; pointer-events: all; opacity: 1; } .join-club { display: flex; align-items: center; margin-top: 30px; margin-bottom: 20px; width: 100%; @media @mobile { flex-flow: column; align-items: normal; gap: 15px; } } .email-input { font-size: 1.2rem; } .email-control { font-size: 1rem; white-space: nowrap; overflow: unset; padding: 11px; margin-left: 10px; } </style>
이 디자인은 호기심이라는 강력한 원리를 활용합니다. 사용자가 모달 아래에 있는 콘텐츠의 일부를 엿볼 수 있게 함으로써 사용자가 놓친 내용을 발견하려는 욕구를 활용할 수 있습니다. 모달 텍스트의 명확한 가치 제안과 결합된 이 접근 방식은 사용자가 빠른 결정을 내리도록 장려하여 전환율을 높입니다.
이 설정을 통해 단순한 "클럽 가입" 모달 이상의 기능을 만들었습니다. 시각적 매력과 사용자 심리를 결합하여 참여를 유도하는 설득력 있고 사려 깊은 경험을 만들었습니다. PrimeVue 대화상자와 그라데이션 오버레이가 조화롭게 작동하여 청중의 시선을 사로잡는 동시에 직관적이고 반응성이 뛰어난 인터페이스를 제공합니다.
사용자를 즐겁게 하고 웹 애플리케이션을 향상시키는 매력적인 기능을 지속적으로 구축하는 이 시리즈의 더 많은 내용을 계속 지켜봐 주시기 바랍니다!
웹 개발에 대한 더 많은 팁을 보려면 DailySandbox를 확인하고 무료 뉴스레터에 가입하여 앞서 나가세요!
위 내용은 \'클럽 가입\' 모달과 사라지는 콘텐츠로 가입을 유도하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!