I’ve made a proof-of-concept solution using jQuery.
I’ve now got this code in a Mercurial bitbucket repository. The main file is tables.html
.
I’m aware of one issue with this: if the table contains anchors, and if you open the URL with the specified anchor in a browser, when the page loads, the row with the anchor will probably be obscured by the floating header.
Update 2017-12-11: I see this doesn’t work with current Firefox (57) and Chrome (63). Not sure when and why this stopped working, or how to fix it. But now, I think the accepted answer by Hendy Irawan is superior.