Melin's Blog

Latest posts

See all posts
  • Detecting DOM Size Changes: A Brief Introduction to JavaScript’s `ResizeObserver`
    MutationObserver is useful when you need to detect changes to DOM nodes, attributes, or text content. But for a long time, detecting size changes was less direct. Developers oft...
  • ES6 Math Methods and Number Features: A Practical Guide
    JavaScript numbers look simple at first: one Number type, one global Math object, and a handful of familiar methods like Math.round() , Math.floor() , and parseInt() . ES6 made...
  • Practical Notes on JavaScript Events for Two-Finger Image Zoom on Mobile
    Implementing image zoom on mobile sounds simple until you try to debug real two-finger gestures in the browser. The tricky part is not only applying transform: scale() to an ima...
  • JS Pure Front-End Audio Trimming: Cut, Copy, Play, and Upload Audio in the Browser
    Users often upload full audio files when your product only needs a short clip. A typical music file may run 3-5 minutes, but the business requirement might only need the first 1...
  • A Handy Tip for Passing Parameters with JavaScript `CustomEvent`
    JavaScript events are not limited to browser-native interactions like clicks, typing, or mouse movement. You can also create your own events, dispatch them manually, and pass da...
© 2026 • Melin
Press Esc or click anywhere to close