Treehouse: Grow your CSS skills. Land your dream job.

Last updated on:

JavaScript Required Content with Fallback Content

JavaScript-required area is hidden with inline CSS, and then shown after it loads with a small snippet of JavaScript. Below that, noscript tags are used for fallback content. So only one or the other of these bits of content will be required depending on if JavaScript is enabled or not.

<!-- JavaScript-Required Content -->
<div id="photoslider" style="display:none">Javascript photoslider</div>
<script>document.getElementById('photoslider').style.display='';</script>
<!-- END JavaScript-Required Content -->

<!-- Fallback Content -->
<noscript><div id="photo">Alternative static photo as content when javascript is turned off</div></noscript>
<!-- END Fallback Content -->

Comments

  1. Rob Ratcliff
    Permalink to comment#

    This code makes me happy! So simple, but so effective!

  2. stine
    Permalink to comment#

    Nice tip! thanks

  3. Becky
    Permalink to comment#

    Chris,

    You and this site are always coming to my rescue! FYI – I just tried this with a WordPress slideshow. I added the ‘noscript’ tags with a standard image under the slideshow shortcode in the standard editing page and it worked like a charm.
    Thanks!

  4. Miles
    Permalink to comment#

    Hi Chris
    I was wanting to use a simple slideshow on a homepage but was concerned about the ‘no javascript available’ scenario. This simple piece of code leaves me with a great first choice image even if the slideshow doesn’t run.

    many thanks for this

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

```
<script>
  function example() {
    element.innerHTML = "<div>code</div>";
  }
</script>
```