Membuat element sticky (yang menempel) pada desain webmu

Di postingan ini saya akan membagikan tips yang sangat sederhana untuk membuat sebuah elemen html di halaman web kamu tampil sticky, yang artinya jika kamu scroll, ke atas ataupun ke bawah elemen tersebut tetap diam di situ, nempel dan idak bergerak. Contohnya seperti header halaman web kita buat sticky supaya saat discroll ke bawah, menu-menu yang ada di header halaman tetap kelihatan dan bisa diklik sewaktu-waktu.

Cara membuat sebuah elemn html menjadi sticky cukup mudah, kamu tinggal menambahkan css ini, misal pada class “nempel”:

.nempel{
   position: sticky;
   top: 0;
}

Alternatifnya, kita juga bisa membuat styling seperti ini:

.nempel{
   position: fixed;
   top: 0;
}

Misal kita mau membuat tombol “scroll to top” di pojok kanan bawah halaman web kita, bisa kita buat stylingnya begini:

.scrolltotop{
   position: fixed;
   bottom: 0;
   right: 0;
}

Cara memrogram pengambilan gambar/foto webcam dengan HTML dan JavaScript

Di postingan ini akan saya bagikan full script html dan JavaScript yang berguna untuk menggambil jepretan foto/gambar dari webcam/kamera laptop/pc maupun hp, yang mana hasil jepretan itu akan muncul pada elemen Canvas di halaman web percobaan kita. Kamu bisa klik kanan lalu save untuk mendownloadnya.

Berikut ini source codenya:

<!DOCTYPE html>
<html>
	<head>
		<title>Tutorial OmPuter</title>
		<style>
			body{
				background-color: gray;
			}
		</style>
	</head>
	<body>
		<video id="webcamVideo" width="854" height="480" style="border: 1px black solid;" autoplay></video>
		<canvas id="webcamCanvas" width="854" height="480" style="border: 1px black solid;"></canvas>
		
		<button onclick="startCamera();">Mulai Kamera</button>
		<button onclick="ambilGambar();">Ambil Gambar</button>
		
		<script>
			var wVideo = document.querySelector("#webcamVideo");
			var wCanvas = document.querySelector("#webcamCanvas"); 
			
			async function startCamera(){
				var stream = null;
				try{
					stream = await navigator.mediaDevices.getUserMedia({ video : true, audio : false });
				}catch(error){
					alert(error.message);
					return;
				}
				
				wVideo.srcObject = stream;
			}
			
			function ambilGambar(){
				wCanvas.getContext("2d").drawImage(wVideo, 0, 0, 854, 480);
				var imageData = wCanvas.toDataURL("image/jpeg");
				
				console.log(imageData);
			}
		</script>
	</body>
</html>

Cara menjaga proporsi tulisan dan gambar pada halaman web saat layar berubah ukuran dengan menggunakan jQuery

Tentunya menyebalkan saat kita mendesain sebuah halaman web yang tampil oke pada suatu ukuran layar, namun saat dilihat di layar dengan ukuran lainnya tampilan desain kita tampak jelek karena ukuran teksnya atau gambarnya terlalu besar atau terlalu kecil.

Di sinilah ada yang namanya teknik responsive web design. Tapi yang akan saya jelaskan di tutorial ini berbeda dengan teknik yang sudah ada pada umumnya. Biasanya orang-orang dalam menangani masalah responsivitas ini mengandalkan css, yakni menggunakan media query untuk menentukan bentuk desain pada ukuran layar tertentu secara dinamis, tapi di sini saya akan menunjukkan caranya yang lain dengan menggunakan JavaScript, lebih tepatnya dengan menggunakan jQuery.

Hal pertama: ukuran layar referensi

Pertama-tama kita perlu ukuran layar yang akan kita jadikan patokan/referensi. Anggaplah referensi kita 1280 * 720 piksel. Kita catat ukuran itu.

var referenceWidth = 1280;
var referenceHeight = 720;

Untuk ukuran gambar

Kita perlu mendeklarasikan berapa kali berapa ukuran gambar yang sekarang ada.

var imageWidth = 400;
var imageHeight = 300;

Di contoh ini, gambar yang kita gunakan memiliki lebar 400 dan tinggi 300 piksel.

Karena kita tidak mau menggunakan ukuran 400 * 300 pada gambar tersebut untuk ditampilkan di semua ukuran layar, oleh karena itu kita akan menjadikan ukurannya dinamis. Dengan cara mengkalkulasi berapa ukuran baru gambar tersebut jika ditampilkan pada layar dengan ukuran tertentu. Jadi kita perlu mengetahui berapa ukuran barunya.

var newWidth = innerWidth * (imageWidth/referenceWidth);
var newHeight = newWidth * (imageHeight/imageWidth);

Nah setelah ukuran baru gambar tersebut didapat, maka kita apply/terapkan ukuran tersebut pada gambar.

Untuk ukuran teks

Hampir mirip juga, tapi untuk teks/font kita hanya perlu berurusan dengan ukuran fontnya. Jadi kita tentukan ukuran font asli sebagai referensi.

var fontSize = 16;

Di sini referensi ukuran font kita adalah 16 piksel untuk layar dengan ukuran yang kita jadikan referensi di atas yakni 1280 * 720. Lalu untuk ditampilkan pada ukuran layar lainnya, kita perlu mengkalkulasi ukuran baru si teks itu berapa.

var newFontSize = fontSize * (innerWidth/referenceWidth);

Nah newFontSize itu adalah ukuran baru font yang harus kita apply pada teks kita supaya ukurannya proporsional terhadap ukuran layar yang ada.

Lalu kita bisa gunakan jQuery untuk meng-apply ukuran baru teks dan gambar seiring dengan perubahan ukuran layar.

Script lengkapnya seperti ini:

<!DOCTYPE html>
<html>
	<head>
		<title>Proporsi Teks dan Gambar</title>
		<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
	</head>
	<body>
		<p id="teks" style="font-size: 25px;">Ini adalah mendoan</p>
		<img src="mendoan.jpg" id="gambar">
		
		<script>
			
			//Ukuran layar referensi
			var referenceWidth = 1280;
			var referenceHeight = 720;
			
			//Ukuran font referensi
			var fontSize = 25;
			
			//Ukuran gambar referensi
			var imageWidth = 400;
			var imageHeight = 300;
			
			//Kalkulasi ukuran baru
			function applyNewSize(){
				//Ukuran baru Teks
				var newFontSize = fontSize * (innerWidth/referenceWidth);
				
				//Menerapkan ukuran baru
				$("#teks").css({
					"font-size" : newFontSize + "px"
				});
				
				//Ukuran baru Gambar
				var newWidth = innerWidth * (imageWidth/referenceWidth);
				var newHeight = newWidth * (imageHeight/imageWidth);
				
				//Menerapkan ukuran baru
				$("#gambar").css({
					"width" : newWidth + "px",
					"height" : newHeight + "px",
				});
			}
			
			//Dijalankan tiap kali jendela berubah ukuran
			$(window).resize(function(){
				applyNewSize();
			});
			
			//Dijalankan awal kali browser ready
			$(document).ready(function(){
				applyNewSize();
			});
			
		</script>
	</body>
</html>

Cara membuat website toko online berbasis PHP dengan script WhatsUpShop

Di tulisan ini saya akan tunjukkan betama mudahnya cara membuat toko online berbasis WhatsApp yang bisa kamu lakukan sendiri.

Cara kerja toko online ini adalah, kamu akan memiliki sebuah halaman depan website yang bisa menampilkan daftar produk-produk yang kamu jual, lengkap dengan foto produk, harga dan keterangannya. Tiap produk akan disertai tombol tambah ke keranjang, dan akan ada sistem keranjang belanja untuk checkout, jadi kalau ada pembeli tinggal tambahin saja produk ke keranjang belanja, isi data pembeli lalu checkout dan terhubung dengan chat WhatsApp dengan kamu sebagai penjualnya.

Lanjutkan membaca “Cara membuat website toko online berbasis PHP dengan script WhatsUpShop”

Cara membuat tur virtual panorama 360 derajat dengan software gratis 3Sixty

Sekarang banyak sekali software-software gratis untuk mendukung kamu untuk berkarya di era digital, karya digital, seperti software yang satu ini: 3Sixty Web Tour Maker.

Kamu sudah pernah melihat website virtual tour 360 panorama? Kalau belum mungkin coba kamu Googlein seperti apa sih tur virtual 360 itu.

Kalau kamu udah pernah liat, nah kalau kamu kepingin membuat website virtual tour sendiri, ini nih software gratis dan keren untuk membuat website tur virtual 360 panorama yang bernama 3Sixty Web Tour Maker.

Lanjutkan membaca “Cara membuat tur virtual panorama 360 derajat dengan software gratis 3Sixty”