Bosan mengungkapkan perasaan lewat obrolan yang itu-itu saja? Ingin menemukan cara yang anti-mainstream untuk mengajak seseorang berkencan, yang sedikit culun, tapi dijamin lucu dan berkesan? Kenapa tidak pakai halaman web kustommu sendiri?
Bayangkan ini: kamu mengirim tautan ke gebetanmu. Saat mereka membukanya, sebuah halaman web yang manis muncul dengan pertanyaan, "Maukah kamu jadi pacarku?". Di bawahnya ada dua tombol: "BENAR-BENAR!" dan "Tidak."“
Inilah bagian serunya: setiap kali mereka mencoba mengeklik "Tidak", tombolnya akan menghilang dan berpindah ke titik lain di layar. Semakin mereka mencoba menolak, semakin sulit, dan tombol "BENAR-BENAR!" akan semakin besar.
Ini adalah “Skrip HTML Lucu” — cara kreatif untuk menunjukkan usaha yang setidaknya akan membuat orang yang Anda taksir tertawa.
Artikel ini akan memberi Anda panduan lengkap, termasuk kode HTML, untuk membuat halaman pengakuan interaktif ini.
Daftar isi
BeralihApa Itu Skrip HTML Lucu?
Sederhananya, ini adalah satu .html berkas yang berisi tiga elemen:
- HTML: Sebagai kerangka atau struktur halaman. Ini menampilkan teks, GIF, dan dua tombol.
- CSS (Angin Belakang): Untuk "mempercantik" halaman. CSS menangani tata letak, warna, font, dan animasi agar terlihat cantik dan profesional.
- JavaScript: Inilah "otak" di balik kenakalan ini. JavaScript bertanggung jawab untuk mendeteksi ketika kursor mendekati tombol "Tidak" dan segera memindahkannya ke posisi acak, sekaligus mengubah teksnya menjadi sesuatu yang lebih lucu.
Kombinasi ketiganya menciptakan pengalaman permainan mini yang interaktif dan lucu.
Mengapa Harus Mengajak Seseorang Berkencan dengan Naskah?
Di era digital ini, metode ini memiliki beberapa keuntungan:
- Unik dan Berkesan: Ini jelas jauh lebih berkesan daripada sekadar pesan “aku suka kamu” di WhatsApp atau DM.
- Menunjukkan Upaya: Anda tidak hanya mengetik pesan; Anda bangunan Sesuatu. Ini menunjukkan dedikasi dan niat yang tulus (meskipun caranya nakal).
- Lucu dan Mencairkan Suasana: Sifatnya yang seperti permainan dapat mengurangi ketegangan. Jika mereka tertawa, itu sudah awal yang baik!
- Interaktif: Mereka tidak hanya membaca; mereka berinteraksi. Ini menciptakan pengalaman yang lebih personal dan menyenangkan.
Cara Membuat & Menggunakan Skrip (Tutorial Lengkap)
Siap bertindak? Ikuti langkah-langkah berikut.
Langkah 1: Salin Kode Lengkap
Ini semua kode yang Anda butuhkan. Anda tidak perlu mengubah apa pun kecuali ingin mengubah teks atau tautan GIF.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pesan Untukmu ❤️</title>
<!-- Load Tailwind CSS -->
<script src="[https://cdn.tailwindcss.com](https://cdn.tailwindcss.com)"></script>
<!-- Load Custom Fonts (Gochi Hand for handwritten & Inter for body) -->
<style>
@import url('[https://fonts.googleapis.com/css2?family=Gochi+Hand&family=Inter:wght@400;700&display=swap](https://fonts.googleapis.com/css2?family=Gochi+Hand&family=Inter:wght@400;700&display=swap)');
body {
font-family: 'Inter', sans-serif;
/* Soft background gradient effect */
background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4f46e5 100%);
overflow: hidden; /* Prevents scrolling when the button moves */
}
/* Custom font for the question, makes it feel personal */
.font-question {
font-family: 'Gochi Hand', cursive;
}
/* Set up the "No" button to be movable */
#no-button {
position: absolute;
transition: all 0.3s ease-in-out;
/* Ensure this button is on top of other elements when moving */
z-index: 10;
}
/* The "Yes" button will be on top if they overlap */
#yes-button {
position: relative;
z-index: 20;
}
</style>
</head>
<body class="text-white min-h-screen flex items-center justify-center p-4">
<!-- Main Content: The Question -->
<div id="main-content" class="bg-gray-900 bg-opacity-70 backdrop-blur-lg p-8 md:p-12 rounded-2xl shadow-2xl text-center max-w-lg w-full transition-all duration-500 ease-in-out transform scale-100 opacity-100">
<!-- Cute Opening GIF -->
<img src="[https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExM3ZkZ3h5dG9qbnYybjBqNnZ2OHJ0bTlnNGg2dHd3dDZtMmk1cDRsZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/cLS1cfxvGOPVpf9g3v/giphy.gif](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExM3ZkZ3h5dG9qbnYybjBqNnZ2OHJ0bTlnNGg2dHd3dDZtMmk1cDRsZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/cLS1cfxvGOPVpf9g3v/giphy.gif)"
alt="GIF pemalu yang lucu"
class="w-48 h-48 mx-auto rounded-full mb-6 shadow-lg border-4 border-pink-400 object-cover">
<h1 class="font-question text-4xl md:text-5xl font-bold text-pink-400 mb-6">
Heeey kamuuu...
</h1>
<p class="text-2xl md:text-3xl mb-10 font-question text-gray-200">
Saya punya pertanyaan... tapi jangan marah, oke?
</p>
<p class="text-xl md:text-2xl mb-10 font-semibold text-white">
Maukah kamu menjadi pacarku? 🥺👉👈
</p>
<!-- Button Container -->
<!-- Made 'relative' so the "No" button can move within it -->
<div class="relative flex flex-col sm:flex-row justify-center items-center gap-4 h-24">
<!-- The "Yes" Button -->
<button id="yes-button"
class="bg-green-500 hover:bg-green-600 text-white font-bold py-3 px-8 rounded-lg text-lg transition-all duration-300 transform hover:scale-110 shadow-lg">
SANGAT!
</button>
<!-- The "No" Button (The one that moves) -->
<button id="no-button"
class="bg-red-500 hover:bg-red-600 text-white font-bold py-3 px-8 rounded-lg text-lg transition-all duration-300 shadow-lg"
style="left: 55%; transform: translateX(-50%);">
TIDAK.
</button>
</div>
</div>
<!-- Success Message (Hidden) -->
<div id="success-message"
class="hidden bg-gray-900 bg-opacity-70 backdrop-blur-lg p-8 md:p-12 rounded-2xl shadow-2xl text-center max-w-lg w-full transition-all duration-500 ease-in-out transform scale-0 opacity-0">
<!-- Success/Love GIF -->
<img src="[https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExZGphY3k1N3VqajJ0bTgzZzdoY2U1N3Z0bGh5NnlqaWZnZDAweHFuZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/9GimADhYmMB2ssdNf3/giphy.gif](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExZGphY3k1N3VqajJ0bTgzZzdoY2U1N3Z0bGh5NnlqaWZnZDAweHFuZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/9GimADhYmMB2ssdNf3/giphy.gif)"
alt="GIF cinta"
class="w-48 h-48 mx-auto rounded-full mb-6 shadow-lg border-4 border-green-400 object-cover">
<h1 class="font-question text-5xl md:text-6xl font-bold text-green-400 mb-6">
YAAAAAY!
</h1>
<p class="text-2xl md:text-3xl font-question text-gray-200 mb-8">
Hehe, aku suka banget sama kamu! ❤️
</p>
<p class="text-lg text-gray-300">
(Kirim pesan padaku setelah kamu melihat ini, oke?)
</p>
</div>
<script>
const yesButton = document.getElementById('yes-button');
const noButton = document.getElementById('no-button');
const mainContent = document.getElementById('main-content');
const successMessage = document.getElementById('success-message');
// Funny texts for the "No" button
const noButtonTexts = [
"No.",
"Are you sure? :(",
"Please?",
"C'mon!",
"You can't say no!",
"Just press 'Yes' >.<",
"Don't be like that :'(",
"I'll treat you to dinner",
"HMMMMM"
];
let yesButtonScale = 1; // Initial scale of the "Yes" button
let noButtonTextIndex = 0; // Index for the "No" button text
// When the "Yes" button is clicked
yesButton.addEventListener('click', () => {
// Hide the main content
mainContent.classList.add('scale-0', 'opacity-0');
// Show the success message after 500ms
setTimeout(() => {
mainContent.classList.add('hidden');
successMessage.classList.remove('hidden', 'scale-0', 'opacity-0');
successMessage.classList.add('scale-100', 'opacity-100');
}, 500);
});
// Function to move the "No" button
function moveButton() {
// Get the viewport size
const viewportWidth = window.innerWidth;
const viewportHeight = window.innerHeight;
// Get the button size
const buttonWidth = noButton.offsetWidth;
const buttonHeight = noButton.offsetHeight;
// Calculate a new random position
let newX = Math.random() * (viewportWidth - buttonWidth - (viewportWidth * 0.1));
let newY = Math.random() * (viewportHeight - buttonHeight - (viewportHeight * 0.1));
newX += (viewportWidth * 0.05);
newY += (viewportHeight * 0.05);
// Apply the new position
noButton.style.position = 'fixed';
noButton.style.left = `${newX}px`;
noButton.style.top = `${newY}px`;
// Enlarge the "Yes" button
yesButtonScale += 0.2;
yesButton.style.transform = `scale(${yesButtonScale})`;
yesButton.style.transition = 'transform 0.3s ease';
// Change the "No" button text
noButtonTextIndex = (noButtonTextIndex + 1) % noButtonTexts.length;
noButton.innerText = noButtonTexts[noButtonTextIndex];
}
// Move the button when the mouse hovers over it
noButton.addEventListener('mouseover', moveButton);
// Move the button when it's clicked (for mobile devices)
noButton.addEventListener('click', moveButton);
</script>
</body>
</html>
Langkah 2: Simpan Kode sebagai File HTML
- Buka program editor teks sederhana seperti Buku catatan (di Windows) atau Edit Teks (di Mac).
- Pasta seluruh kode di atas ke dalamnya.
- Klik “File” > “Simpan Sebagai…”.
- Di dalam “Nama berkas” bidang, ketik
index.html. - Di dalam “Simpan sebagai tipe” bidang, pastikan Anda memilih “Semua File”.
- Klik “Simpan”.
Sekarang Anda memiliki index.html File yang bisa kamu buka di peramban. Tapi tunggu dulu, file itu masih ada di komputermu. Gebetanmu tidak bisa melihatnya. Kamu perlu mengunggahnya ke internet.
Langkah 3: Unggah Skrip untuk Mendapatkannya Secara Online (Gratis!)
Anda tidak dapat mengirim index.html file melalui WA. Anda harus mengirim link. Cara termudah untuk mendapatkan tautan adalah dengan mengunggah berkas Anda ke layanan hosting statis gratis.
Opsi 1: Netlify Drop (Yang Termudah)
- Membuka app.netlify.com/drop di peramban Anda.
- Anda akan melihat kotak untuk seret dan lepas.
- Tarik
index.htmlberkas yang baru saja Anda simpan dan masukkan ke dalam kotak. - Tunggu beberapa detik…
- Selesai! Netlify akan langsung memberi Anda tautan publik (contoh:
https://random-funny-name.netlify.app). Ini adalah tautan yang Anda kirim ke orang yang Anda sukai!
Opsi 2: CodePen
- Pergi ke codepen.io dan mendaftar untuk mendapatkan akun gratis.
- Buat “Pena” baru.
- Salin bagian kode ke dalam 3 kotak yang sesuai (kode di dalam
...masuk ke kotak CSS, kode di dalam<script>...</script>masuk ke kotak JS, dan sisanya masuk ke kotak HTML). - Simpan Pena Anda, dan Anda akan mendapatkan tautan untuk dibagikan.
Langkah 4: Kirim Tautannya!
Kini kamu punya senjata pamungkasmu: sebuah tautan. Kirimkan tautan itu ke gebetanmu dengan pesan pembuka yang santai.
Contoh:
- “Hei, aku lagi belajar coding dan bikin benda konyol ini. Coba lihat 😆 [tautan-Anda-di-sini]”
- “Saya punya pertanyaan penting, tapi Anda harus menjawabnya di sini… [tautan-Anda-di-sini]”
- “Buka ini di browser Anda, ada sedikit kejutan hehe [tautan-Anda-di-sini]”
Kesimpulan: Cara Modern untuk Menunjukkan Kepedulian Anda
Membuat halaman web kecil ini adalah hal yang menyenangkan, kreatif, dan pastinya anti-arus utama Cara untuk menunjukkan perasaanmu. Ini bukti nyata bahwa "usaha" hadir dalam berbagai bentuk, termasuk kode.
Meskipun ini hanya proyek yang menyenangkan, ini merupakan langkah awal yang baik menuju dunia pengembangan web. Siapa tahu, dengan membuat skrip yang menarik, Anda mungkin tertarik untuk membangun situs web atau aplikasi sungguhan.
Dan ketika Anda siap untuk mewujudkan ide-ide besar Anda secara online, hosting web Quape adalah tempat yang tepat untuk memulai. Kami menyediakan platform yang andal dan cepat untuk semua proyek web Anda, dari yang sederhana hingga yang kompleks.
Semoga beruntung!
- Apa Itu Apache? Panduan Sederhana untuk Pemula - 27 Oktober 2025
- Apa Itu Nginx? Panduan Sederhana untuk Pemula - 27 Oktober 2025
- Apa Itu Drupal dan Cara Menginstalnya dengan Mudah - 24 Oktober 2025

