Bayangkan menyemak imbas tapak web, melihat sekilas kandungan yang menarik di luar jangkauan, dengan kaedah mudah menarik anda untuk "menyertai kelab" untuk akses tanpa had. Reka bentuk yang halus namun berkesan ini menimbulkan rasa ingin tahu sambil menggalakkan tindakan. Dalam tutorial ini, kami akan membina pengalaman sedemikian menggunakan komponen Dialog PrimeVue dalam Nuxt 3, lengkap dengan kesan pudar kandungan yang anggun yang menarik pengguna masuk.
Nota: Ini boleh direka bentuk dengan mudah dalam JS vanila, atau tanpa menggunakan PrimeVue.
Mari kita menyelami dalam mencipta pengalaman modal yang menawan ini sambil memfokuskan pada keberkesanan psikologinya—membenarkan pengguna melihat pratonton coretan kandungan untuk menjadikan penyertaan kelab itu tidak dapat dinafikan.
Matlamatnya mudah: apabila pengguna tidak log masuk, paparkan mod "Sertai Kelab" sambil memudar kandungan latar belakang untuk membayangkan perkara yang terdapat di bawah. Teknik ini memanfaatkan rasa ingin tahu, pendorong yang kuat, untuk menggalakkan pendaftaran.
Buat fail join-the-club.vue dan sediakan skrip dan templat asas:
<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>
Di sini, kami mentakrifkan:
Menggunakan komponen Dialog PrimeVue, kami akan mencipta modal yang elegan, tidak mengganggu dan didorong oleh tujuan. Mod menyediakan seruan untuk bertindak yang jelas dan memudahkan proses membuat keputusan.
<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>
Fungsi joinClub ialah nadi kepada modal ini. Ia akan mengendalikan penyerahan e-mel pengguna dan mencetuskan logik bahagian belakang untuk pendaftaran.
<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>
Sekarang, integrasikan komponen join-the-club.vue ke dalam apl utama anda. Sebagai contoh, anda boleh mengimport dan menggunakannya secara bersyarat berdasarkan keadaan pengesahan pengguna:
<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>
Reka bentuk ini memanfaatkan prinsip rasa ingin tahu yang kuat. Dengan membenarkan pengguna melihat sebahagian daripada kandungan di bawah modal, anda memanfaatkan keinginan mereka untuk menemui apa yang mereka hilang. Ditambah dengan cadangan nilai yang jelas dalam teks modal, pendekatan ini menggalakkan pengguna membuat keputusan pantas, meningkatkan penukaran.
Dengan persediaan ini, anda telah mencipta lebih daripada sekadar modal "Sertai Kelab". Anda telah mencipta pengalaman persuasif dan bernas yang menggabungkan daya tarikan visual dengan psikologi pengguna untuk mendorong penglibatan. Dialog PrimeVue dan tindanan kecerunan berfungsi secara harmoni untuk memikat penonton anda sambil menyediakan antara muka yang intuitif dan responsif.
Nantikan lebih banyak lagi dalam siri ini sambil kami terus membina ciri menarik yang menggembirakan pengguna dan meningkatkan aplikasi web anda!
Untuk mendapatkan lebih banyak petua tentang pembangunan web, lihat DailySandbox dan daftar untuk surat berita percuma kami untuk kekal di hadapan!
Atas ialah kandungan terperinci Cara menggalakkan pendaftaran dengan mod \'Sertai Kelab\' dan kandungan pudar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!