Cara membuat elemen agar bisa didrag

dokumen-dokumen yang mirip
an exhibition a movement cushcush gallery Jl. Teuku Umar Gg. Rajawali no. 1A Denpasar - Bali

HenHash. Fungsi Hash berdasarkan Henon Map

buat Lightbox mu sendiri dengan jquery

Algoritma Cipher Blok Mats

6. HTML & CSS. PTI15010 Pemrograman Web. Agi Putra Kharisma, S.T., M.T. Genap 2014/2015. Desain slide ini dadaptasi dari University of San Fransisco

DASAR-DASAR CSS DASAR-DASAR CSS By: Rohi Abdulloh A. PENGENALAN

Responsive Sidebar dengan Bootstrap

Membuat Scrollspy Dengan Bootstrap

MODUL PRATIKUM 04B PEMROGRAMAN BERBASIS WEB (CCP119)

Author : Minarni, S.Kom.,MM

BAB V IMPLEMENTASI SISTEM

Membuat Smooth Scrolling dalam 1 halaman dengan JQuery

XHTML dan Dasar-dasar CSS XHTML

Membuat Button Dengan CSS

Notifikasi Keren dengan CSS3

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

LEMBAR KERJA PRAKTIKUM. - JavaScript Alert yang ditampilkan browser saat membuka halaman home/index.html :

MENAMPILKAN GOOGLE MAPS DI WEB BROWSER DENGAN HTML5

Tutorial Layouting : Membuat Grid Sama Tinggi

SImple Pop-Up Modal dengan CSS3 dan Jquery

Membuat Display Produk dalam Layout Box 4 Kolom

Membuat Plugin jquery (Part 1)

BAB VI DESAIN WEB RESPONSIF

Facebook App dengan Javascript

Pemrograman Web PRAKTIKUM 3 CSS. TUJUAN BELAJAR Mahasiswa dapat menggunakan css untuk mengatur gaya tampilan elemenhtml

Pengenalan JavaScript

Komunikasi Multimedia

Hover Putar CSS3. Oleh: Mohammad Nur Huda

Teks dan Background SERIF SANS-SERIF MONOSPACE

LAPORAN RESMI. Boxes

Cara Membuat website dengan Dreamweaver

Menampilkan Google Maps V3 pada halaman website

Membuat Chatbox Sederhana dengan Ajax jquery dan PHP PDO

Pengenalan HTML dan CSS

MODUL PEMOGRAMAN WEB I STMIK IM BANDUNG MODUL PEMOGRAMAN WEB I. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Analisa Pada percobaan ini, menunjukan flow dalam kondisi normal atau sesuai dengan default dan sifat masing-masing tag HTML-nya.

Abdullah hafidh. Fakultas Ilmu Komputer, Universitas Indonesia. [Membuat Web Sederhana dengan.net FrameWork. menggunakan Microsoft Visual Studio 2008]

Secara garis besar, terdapat 3 cara menginput kode CSS, yaitu metode Inline Style, Internal Style Sheets, dan External Style Sheets.

Image Slider 3D. Oleh: Anthonius

Membuat Web Chatting dengan Ajax Jquery, PHP, dan Bootstrap [Part 2]

CSS. inheritance (pewarisan)

Membuat Duplikasi Form dengan Jquery (Dynamic Form)

MEMBUAT WEBSITE SEDERHANA DENGAN HTML 5

BAB V DESAIN WEB CSS

Tutorial CSS Desain Layout 1 Dengan HTML5 dan CSS

TUTORIAL APLIKASI WEB Dengan PHP dan MySQL

Cara Memasukan Font Baru Ke Dalam Web Menggunakan CSS

Cascading Style Sheet (CSS) Didik Dwi Prasetya

MODUL PRATIKUM 04A PEMROGRAMAN BERBASIS WEB (CCP119)

Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL Langkah 1: Membuat Tabel MySQL User/Pengguna

CSS RANDY CAHYA WIHANDIKA, S.ST., M.KOM

Membuat Themes Wordpress sendiri - Part 1

CSS. Cascading Style Sheet. Spesifikasi lengkap di :

Publish: 7 Juni 2012 Author & Copyright: Johan Status: FREE tutorial

MODUL 7. Pengantar jquery

MODUL PEMOGRAMAN WEB I STMIK IM BANDUNG MODUL PEMOGRAMAN WEB I. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Pemrograman Web Week 4. Team Teaching

Cara membuat HTML dasar

Membuat Form Kontak yang Indah dan Atraktif dengan AJAX [Part 4]

How to Create Simple Web (2) - Slice

Tutorial Membuat Layout Website Sederhana dengan HTML dan CSS

Membuat Captcha Image menggunakan Codeigniter 2x

MODUL PRAKTIKUM PEMROGRAMAN WEB (DASAR)

Keuntungan Memisahkan presentation sebuah dokumen dari content document itu sendiri Mempermudah dan mempersingkat pembuatan dan pemeliharaan dokumen w

A. LATAR BELAKANG ATAU BACKGROUND

7 Cara Mempercantik Tampilan Blog

CSS (Cascading Style Sheet) Oleh : Devie Rosa Anamisa

MODUL 1 STYLE SHEET UNTUK TAMPILAN DASAR

JavaScript. Pemrograman Web 1. Genap

CSS dan Tata Letak Pemrograman Internet (TKE ) Program Studi Teknik Elektro, Unsoed

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

PEMROGRAMAN BERBASIS WEB. Part 1,2 HTML. By Rolly Yesputra Sekolah Tinggi Manajemen Informatika dan Komputer Royal Kisaran, 2018

BAB I PERKENALAN HTML

HTML. Hypertext Markup Language. Pemrograman Web 1. Genap

A. LATAR BELAKANG ATAU BACKGROUND

DAFTAR PUSTAKA. Fathansyah. (2007). Basis Data. Informatika : Bandung.

TUGAS UTS WEB STATIS. : Apriyanto Wibowo NIM : : Teknik Informatika S1 (Malam) Pengertian framework

Design Web 2 Kolom Flexible

Tutorial Mengedit Halaman HTML dengan Dreamweaver

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

LAYER DAN HYPERLINK. B. Kegunaan Layer: 1. Layer

Intro To JQuery Training Online Ilmuwebsite

MEMBUAT LAYOUT DENGAN CONTAINER BOOTSTRAP

Panduan Lengkapp HTML dan CSS bagian 2 Wahyu Setiyono

TUTORIAL JQUERY Langkah Tepat menjadi Web Designer Handal, menguasai JQuery JavaScript Library, jalan membuat halaman website lebih atraktif

Simple Price Calculator dengan Input Range

MODUL PRAKTIKUM SISTEM TERDISTRIBUSI

HTML5 Komplet. Jubilee Enterprise PENERBIT PT ELEX MEDIA KOMPUTINDO

Manual Seting Member Card Pada SLiMS 7 (Cendana)

YUPOCOM COMPUTER EDUCATION. JavaScript. 1. Mengenal JavaScript Hal yang harus diketahui Apa itu JavaScript. 2.

Pemrograman Basis Data Berbasis Web

CSS (Cascade Style Sheet)

CSS (Cascading Style Sheets)

BAB III PERANCANGAN ALAT

[SANGAT MUDAH] Cara Membuat Tab dengan Bootstrap

Transkripsi:

Cara membuat elemen agar bisa didrag Oleh: Khaerul Amin Website yang indah tidak hanya dilihat dari tampilannya saja, akan tetapi dilihat juga dari berbagai fitur, animasi, functionality, interaksi dan lain sebagainya. JavaScript sebagai salah satu bahasa pemrograman web saat ini semakin pesat dan semakin banyak fitur-fitur baru yang disematkan untuk mempermudah seorang web developer untuk membuat website yang interaktif. Salah satunya adalah dengan membuat suatu elemen yang bisa didrag kemanapun anda mau, yang akan saya bahas cara membuatnya Selamat Datang di situs jagocoding.com Perkenalkan nama saya Khaerul Amin, saya member baru disini. Nantinya Insya Allah saya akan memberikan tutorial-tutorial seputar javascript untuk tingkat menengah sampai lanjutan. Dan untuk postingan pertamanya, <jika disetujui> yaitu cara membuat elemen agar bisa didrag kemanapun anda mau, seperti jquery Ui Draggable tapi yang akan saya buat cukup menggunakan javascript murni tanpa javascript library apapun. Oke dari pada kebanyakan intro, kita langsung saja ke code. Pertama kita buat html-nya terlebih dahulu, kurang lebih seperti ini <!doctype html> <html lang="id"> <head> <meta charset="utf-8"> <title>belajar Membuat Elemen Agar Bisa Didrag</title> <style> /* KODE CSS DISINI */ </style> </head> <body> <!-- Ini elemen yang akan dibuat agar bisa didrag --> <div id="target"> <div class="judul">hanya Sebuah Contoh</div> <div class="isi"> <p>sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore

veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. </p> </div> </div> <script> // KODE JS DISINI </script> </body> </html> Sekarang tambahkan style ini dibaris /* KODE CSS DISINI */ /* Reset */ * { margin: 0; padding: 0; box-sizing: border-box; body { font-family: Arial, Helvetica, sans-serif; color: #222; background: #f6f6f6; font-size: 14px; line-height: 150%; #target { background: #fff; max-width: 600px; /* Jangan menggunakan margin karena akan berpengaruh pada hasil akhir */ /* Apapun selain static */ position: relative; /* Agar user tau elemen ini bisa didrag */ cursor: move; box-shadow: 0 0 5px hsla(0,0%,0%,.4); #target.judul { background: #09f; color: #fff; padding: 10px 20px;

#target.isi { padding: 20px; Saya hanya memberikan style yang sederhana saja mengingat ini tutorial tentang javascript bukan css. Yang harus diperhatikan adalah style pada #target harus mengatur [position] selain static. Bisa relative, fixed atau absolute. Jika tidak dilakukan, maka script tidak akan bekerja. Next, yaitu yang terpenting pada baris // KODE JS DISINI ganti dengan script ini. // Namespace untuk menghindari polusi pada window var com = com {; com.jagocoding = com.jagocoding {; // Namespace untuk setiap author ^_^ com.jagocoding.erul = com.jagocoding.erul {; // IIFE (function (global, exports) { // global sama saja dengan window // exports sama saja dengan com.jagocoding.erul 'use strict'; // KODE BERIKUTNYA DISINI (window, com.jagocoding.erul)); Disini saya menggunakan Namespace dan IIFE agar variable atau fungsi yang saya buat tetap aman dari script lain yang mungkin bisa membuat script yang saya buat tidak bekerja atau sebaliknya. Lanjut!! ganti // KODE BERIKUTNYA DISINI dengan ini. var doc = global.document; /** * Fungsi untuk membuat elemen bisa didrag * @param {String id nilai attribute id elemen yang mau dibuat draggable */ var Drag = function (id) { var bolehdidrag, // Cek apakah elemen harus mengikuti kursor atau tidak element, // Referensi Elemen style, // Referensi Elemen.style agar kode lebih cepat X, Y; // Posisi kursor secara horizontal (X) dan vertikal (Y) if ('string'!== typeof id) { throw TypeError('Memerlukan string');

element = doc.getelementbyid(id); if (!element) { throw ReferenceError('Elemen tidak ditemukan'); style = element.style; // Fungsi ini akan dipanggil ketika element akan didrag function mulaididrag(event) { // Pastikan tombol mouse/keypad yang kiri yang ditekan if (1 === event.which) { // Agar teks tidak terblock event.preventdefault(); X = event.pagex; Y = event.pagey; bolehdidrag = true; // Fungsi ini akan dipanggil ketika element sedang didrag function sedangdidrag(event) { var x, y, left, top; if (bolehdidrag) { x = event.pagex; y = event.pagey; // Dapatkan posisi elemen saat ini left = parsefloat(style.left) element.offsetleft; top = parsefloat(style.top) element.offsettop; // Hmmmhh... Tentukan posisi yang baru x = Math.max(0, x - X + left); y = Math.max(0, y - Y + top); // Atur style.left = x + 'px'; style.top = y + 'px'; // Update posisi kursor X=event.pageX; Y=event.pageY; // Fungsi ini akan dipanggil ketika element selesai didrag function selesaididrag() {

bolehdidrag = false; ; // Semua variabel dan fungsi diatas tidak bisa diakses diluar // IIFE jadi saya menambahkan dua fungsi dibawah untuk dapat // mengakses fungsi dan variabel diatas return { mulai: function () { element.addeventlistener('mousedown', mulaididrag, false); doc.addeventlistener('mouseup', selesaididrag, false); doc.addeventlistener('mousemove', sedangdidrag, false);, berhenti: function () { element.removeeventlistener('mousedown', mulaididrag, false); doc.removeeventlistener('mouseup', selesaididrag, false); doc.removeeventlistener('mousemove', sedangdidrag, false); ; // Mengexpose fungsi Drag agar bisa digunakan diluar IIFE exports.drag = Drag; Oke kawan... Sekarang fungsi kita sudah jadi, dan cara menggunakannya gampang saja. cukup masukan kode ini diatas </script> // Tunggu sampai Dom sudah siap document.addeventlistener('domcontentloaded', function () { var contoh = com.jagocoding.erul.drag('target'); // Oke.. jadikan elemen tersebut bisa didrag contoh.mulai(); ); // Untuk menonaktifkannya gunakan // contoh.berhenti(); Sekian dulu yang bisa saya berikan. Jika ada yang masih bingung agan bisa bertanya kepada saya. Jika agan sudah bisa, saya kasih tantangan mudah. Yaitu membuat fungsi yang bisa merize ukuran suatu elemen. Untuk fungsinya hampir sama dengan yang diatas hanya ada perubahan sedikit. Sekian saja Sampai Jumpa lagi dipostingan selanjutnya. AAMIIN... Tentang Penulis

Khaerul Amin Khaerul Amin itu...?? TERSERAH ANDA SAJA BAGAIMANA MAU MENILAI SAYA