HTML is a markup language that, most essentially, sets the structure of a document. That structure is meaningful, and it’s often abused when web developers do a sloppy job. It’s important for accessibility, readability, and in giving a clear understanding of what is what.
With that in mind, I set out to create a page full of documentation for a new CMS we’re building with a clear structure and readability. I decided to use h2
tags as a primary content heading, with h4
tags as a primary sub-heading. However, because the CMS is so complicated, I ended up with over a dozen pages of text.
To make it useful and readable, I went about setting the h2
and h4
tags as clickable, where on-click, the sub-content is revealed. Clicking the heading again hides the sub-content.
//On click of the heading-click class members or h4 elements, expand the following element. The sub-content of the headings are wrapped in <article> or <section> tags. jQuery(document).ready(function(){ $('.heading-click, h4').click(function() { $(this).next().toggle('slow'); return false; }).next().hide(); //Go to the location shown by the hash in the URL and show the element(s) containing it. function goToByScroll(id){ $('html,body').animate({scrollTop: $("#"+id).offset().top},'fast');} var hash = window.location.hash; $(hash).closest("section").show('fast'); setTimeout(function(){ goToByScroll(hash); },1000); //Display the section which is internally linked $('.internal').click(function(){ var hash = $(this).attr("href"); $(hash).closest("section").show('fast'); }); });