Search
How to Control CSS Animations with JavaScript
27.12.2022
When it comes to animations on the web, developers need to measure the animation’s requirements with the right technology — CSS or JavaScript. Many animations are manageable with CSS but JavaScript will always provide more control. With document.getAnimations, however, you can...
Detecting Fonts Ready
26.12.2022
Knowing when resources are loaded is a key part of building functional, elegant websites. We’re used to using the DOMContentLoaded event (commonly referred to as “domready”) but did you know there’s an event that tells you when all fonts have loaded? Let’s learn how...
WDRL — Edition 307: Test Selectors in CSS, image() functions, readable typo, and speeding up JavaScript libraries.
21.12.2022
Hey,
in my last newsletter this year, the 13th, I want to say thank you to all of you: Thanks for being my audience, for reading my emails, and articles, sharing them, and giving me feedback. I really appreciate every single email you write to me. Happy holidays and happy new year!
The web...
CSS Infinite and Circular Rotating Image Slider
2.12.2022
Image sliders (also called carousels) are everywhere. There are a lot of CSS tricks to create the common slider where the images slide from left to right (or the opposite). It’s the same deal with the many JavaScript libraries out …
CSS Infinite and Circular Rotating Image Slider originally...
Collective #739
24.11.2022
State of JavaScript 2022 Survey * An Interactive Guide to Flexbox in CSS * Design Threads
How to Internationalize Numbers with JavaScript
21.11.2022
Presenting numbers in a readable format takes many forms, from visual charts to simply adding punctuation. Those punctuation, however, are different based on internationalization. Some countries use , for decimal, while others use .. Worried about having to code for all this madness? Don’t...
How to Extend Prototypes with JavaScript
31.10.2022
One of the ideological sticking points of the first JavaScript framework was was extending prototypes vs. wrapping functions. Frameworks like MooTools and Prototype extended prototypes while jQuery and other smaller frameworks did not. Each had their benefits, but ultimately all these years later...
How to Use window.crypto in Node.js
27.10.2022
I’ve been writing a bunch of jest tests recently for libraries that use the underlying window.crypto methods like getRandomValues() and window.crypto.subtle key management methods. One problem I run into is that the window.crypto object isn’t available, so I need to shim it. To use...
Convert Fahrenheit to Celsius with JavaScript
26.10.2022
The United States is one of the last bodies that refuses to implement the Celsius temperature standard. Why? Because we’re arrogant and feel like we don’t need to change. With that said, if you code for users outside the US, it’s important to provide localized weather data...
Detect System Theme Preference Change Using JavaScript
24.10.2022
JavaScript and CSS allow users to detect the user theme preference with CSS’ prefers-color-scheme media query. It’s standard these days to use that preference to show the dark or light theme on a given website. But what if the user changes their preference while using your app?...
How to Use Storage in Web Extensions
20.10.2022
Working on a web extension is an interesting experience — you get to taste web while working with special extension APIs. One such API is storage — the web extension flavor of persistence. Let’s explore how you can use session and local storage within your Manifest V3...
Skip or Only Run a Test with JavaScript Mocha
10.10.2022
Whenever I start to feel anxiety about a big change I’m making, I start writing more unit tests. I’ll write down my fear and then write a test that attacks, and eventually relaxes, that fear. There are two actions that I’ve been frequently using with test writing: skipping all...
Jaká byla Nordic.js 2022
10.10.2022
Trvalo to tři dlouhé roky, než se mohla odehrát další iterace populárního cyklu severských frontendových konferencí Nordic.js a Nordic.design. Přinášíme reportáž přímo z místa!
Effortless JavaScript Image Editing With Pintura
3.10.2022
Learn how you can use Pintura, the robust JS image editor, to crop, resize, rotate, apply filters, or fine-tune your images
Named Element IDs Can Be Referenced as JavaScript Globals
27.9.2022
Did you know that DOM elements with IDs are accessible in JavaScript as global variables? It’s one of those things that’s been around, like, forever but I’m really digging into it for the first time.
If this is the first …
Named Element IDs Can Be Referenced as JavaScript Globals originally...
What’s New With Forms in 2022?
8.9.2022
Browsers are constantly adding new HTML, JavaScript and CSS features. Here are some useful additions to working with forms that you might have missed…
requestSubmit()
Safari 16 will be the final browser to add support for requestSubmit.
Before we …
What’s New With Forms in 2022? originally...
WDRL — Edition 302: Digital accessibility, learning modern CSS, UI tricks, serving images the right way, and proper waiting in JavaScript.
31.8.2022
Hey,
Let's build websites for every one of us: »At the end of 2021, approximately 7.8 million severely disabled people were living in Germany. […] The percentage of severely disabled people in the total population in Germany stood at 9.4%.« – Statistisches Bundesamt
When I first stumbled upon...
Monitor Events and Function Calls via Console
29.8.2022
Despite having worked on the very complex Firefox for a number of years, I’ll always love plain old console.log debugging. Logging can provide an audit trail as events happen and text you can share with others. Did you know that chrome provides monitorEvents and monitor so that you can get...
Custom SVG Cursors with an Interactive Emitter Effect
24.8.2022
Several interactive cursor effects made with JavaScript and SVG
Specify Node Versions with .nvmrc
9.8.2022
I’ve heavily promoted nvm, a Node.js version manager, over the years. Having a tool to manage multiple versions of a language interpreter has been so useful, especially due to the complexity of Node.js package management. One tip I like to give new developers is adding a .nvmrc file to their...