14 March 2017 - elementals.js 2.0 RC 3 -- a cold day in hell
By Jason M. Knight (aka Deathshadow)

Release candidate 3 of elementals.js has been released. There were minor bugfixes in a couple functions, but the big addition is the "replace" type to _.nodeAdd which basically does the same as Element.parentNode.replaceChild(newElement, Element);. Might prove handy in a number of cases such as when creating a new wrapping DIV to replace an existing one so that innerHTML can be applied to an element before it is on the DOM.

Due to the relatively minor changes and zero user-facing changes in existing functionality, I am not pushing the planned production release date of 25 March 2017 forward with this release as is typical for a new RC.

With the winter storm barelling in to ravage the area tomorrow, figured I'd at least toss something up on the site before I end up going without power for a bit. NOT that I'll probably lose power or if so for very long, but I grew up in the Commiewealth of Taxachusetts where if the wind blew you went a week without power almost entirely due to the incompetance of the electric company. Normally I wouldn't worry as PSNH never showed that level of ineptitude, but it's not PSNH anymore it's this company called "Eversource" that apparently merged with N-Star meaning that many fo the people running it used to work for Con Ed...

Meaning every corner that can be cut is being cut, meaning I'm... less than hopeful -- and to be frank, I'm already unimpressed with service since the buyout/merger/whatever.

5 March 2017 - elementals.js 2.0 RC 2 and eSmooth.js
By Jason M. Knight (aka Deathshadow)

elementals.js 2.0 RC2

Release candidate 2.0 of elementals.js has been released. This includes one minor bugfix in relation to what _.queryAll returns, and a few 'new' features that are, well... they were extra code I just had hanging around so why not?

eSmooth.js Demo

Released at the same time is a new demo code some of you may like -- it's not my cup of tea but a few people asked for it, so here it is. eSmooth.js is a script using elementals.js to allow easy on-page smooth scrolling of hash links. It has several configuration options, and a halfway decent set of defaults. It works will in IE11 and all modern browsers, and gracefully degrades to normal hash behavior in unsupported browsers. You can also force support in older browsers with a global variable, but beware that forward/back history is currently broken in those browsers due to a lack of history.pushstate.

2 March 2017 - New Tutorial - Modal Dialogs without JavaScript
By Jason M. Knight (aka Deathshadow)

Orange cheeto fingered TLDR tweeting twit! CSS works really hard
but total loser! Do this
with jQuery it will be
like... REALLY Yuge!!!!!!!

I have added a new tutorial about something I'm often asked about. I tend to say "JavaScript for NOTHING" about a LOT of websites, have for years. This has only been more true since CSS3 has added so much capability to stylesheets -- and by extension the HTML it is applied to -- that a great many things developers are 100% convinced you need JavaScript to do, you just don't need scripting for anymore!

Topping that list? Modal Dialogs. You just don't need JavaScript for that when CSS3 gave us the lovely :target attribute. Likewise that litle fade-in merry artsy types go gooey in the pants over? CSS can handle that to.

So I present Modal Dialogs Without JavaScript.


  • elementals.js
    A lightweight JavaScript library focusing on cross browser support, ECMAScript polyfills, and DOM manipulation.
  • eFlipper.js
    An image carousel script using elementals.js
  • eProgress.js
    A JavaScript controllable progress bar using elementals.js. Based on the nProgress project that relies on the much heavier jQuery library.


Browse code samples of people I've helped on various forums. These code snippets, images, and full rewrites of websites date back a decade or more, and are organized by the forum username of who I was helping. You'll find all sorts of oddball bits and pieces in here. You find any of it useful, go ahead, pick up the ball, and run with it.


Best Viewed With Eyeballs