Stellen Sie sich vor, Sie stöbern auf einer Website und erhaschen einen Blick auf interessante Inhalte, die gerade außerhalb Ihrer Reichweite liegen, mit einem einfachen Modal, das Sie dazu verleitet, „dem Club beizutreten“, um unbegrenzten Zugriff zu erhalten. Dieses subtile, aber wirkungsvolle Design weckt die Neugier und regt gleichzeitig zum Handeln an. In diesem Tutorial erstellen wir ein solches Erlebnis mit der Dialog-Komponente von PrimeVue in Nuxt 3, komplett mit einem eleganten Inhalts-Fade-Effekt, der Benutzer anzieht.
Hinweis: Dies könnte genauso gut in Vanilla JS oder ohne Verwendung von PrimeVue entworfen werden.
Lassen Sie uns in die Gestaltung dieses fesselnden modalen Erlebnisses eintauchen und uns dabei auf seine psychologische Wirksamkeit konzentrieren – indem wir Benutzern die Vorschau eines Ausschnitts des Inhalts ermöglichen, um den Beitritt zum Club unwiderstehlich zu machen.
Das Ziel ist einfach: Wenn ein Benutzer nicht angemeldet ist, wird ein „Treten Sie dem Club bei“-Modal angezeigt, während der Hintergrundinhalt ausgeblendet wird, um anzudeuten, was sich darunter verbirgt. Diese Technik nutzt die Neugier, einen starken Motivator, um Anmeldungen zu fördern.
Erstellen Sie eine Datei „join-the-club.vue“ und richten Sie das grundlegende Skript und die Vorlage ein:
<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>
Hier definieren wir:
Mithilfe der Dialogkomponente von PrimeVue erstellen wir ein Modal, das elegant, unaufdringlich und zweckorientiert ist. Das Modal bietet einen klaren Aufruf zum Handeln und vereinfacht den Entscheidungsprozess.
<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>
Die Funktion „JoinClub“ ist das Herzstück dieses Modals. Es verarbeitet die E-Mail-Übermittlungen der Benutzer und löst die Backend-Logik für Anmeldungen aus.
<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>
Jetzt integrieren Sie die Komponente „join-the-club.vue“ in Ihre Haupt-App. Sie können es beispielsweise abhängig vom Authentifizierungsstatus des Benutzers importieren und verwenden:
<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>
Dieses Design nutzt ein starkes Prinzip der Neugier. Indem Sie Benutzern ermöglichen, einen Blick auf einen Teil des Inhalts unterhalb des Modals zu werfen, wecken Sie ihren Wunsch, herauszufinden, was ihnen entgeht. In Verbindung mit dem klaren Wertversprechen im modalen Text ermutigt dieser Ansatz Benutzer, schnelle Entscheidungen zu treffen und so die Conversions zu steigern.
Mit diesem Setup haben Sie mehr als nur ein Modal „Dem Club beitreten“ erstellt. Sie haben ein überzeugendes und durchdachtes Erlebnis geschaffen, das visuelle Attraktivität mit Benutzerpsychologie kombiniert, um das Engagement zu fördern. Der PrimeVue-Dialog und die Verlaufsüberlagerung arbeiten harmonisch zusammen, um Ihr Publikum zu fesseln und gleichzeitig eine intuitive und reaktionsfähige Benutzeroberfläche zu bieten.
Bleiben Sie gespannt auf mehr in dieser Serie, während wir weiterhin ansprechende Funktionen entwickeln, die Benutzer begeistern und Ihre Webanwendungen aufwerten!
Weitere Tipps zur Webentwicklung finden Sie unter DailySandbox und abonnieren Sie unseren kostenlosen Newsletter, um immer auf dem Laufenden zu bleiben!
Das obige ist der detaillierte Inhalt vonSo fördern Sie Anmeldungen mit einem Modal „Treten Sie dem Club bei' und ausgeblendeten Inhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!