DEV Community

Cover image for How to Display a Custom Daily Greeting
ajcwebdev
ajcwebdev

Posted on • Edited on • Originally published at ajcwebdev.com

How to Display a Custom Daily Greeting

Introduction

I discovered a cool little trick while source diving through Scott Mathson's web site. With just a couple lines of JavaScript you can create a message that displays a different greeting depending on the day of the week.

Create a Script with a Weekday Array

Create a <script> tag with type of text/javascript. Define a variable called weekday with a different greeting set to each index.

<script type="text/javascript">

  var weekday = new Array(7)

  weekday[0] = "spectacular Sunday"
  weekday[1] = "marvelous Monday"
  weekday[2] = "terrific Tuesday"
  weekday[3] = "wonderful Wednesday"
  weekday[4] = "totally cool Thursday"
  weekday[5] = "fantastic Friday"
  weekday[6] = "sweet Saturday"

</script>
Enter fullscreen mode Exit fullscreen mode

Set Weekday Value to the Current Date

Also inside the script tag, create a variable called currentDate set with the Date() object and then set the current day to weekdayValue.

var currentDate = new Date()
weekdayValue = currentDate.getDay()
Enter fullscreen mode Exit fullscreen mode

Write to the Document

Use the Document.write() method to write a string of text to the document with paragraph tags containing the weekday value..

document.write(
  '<p>Have a ' + weekday[weekdayValue] + '!</p>'
)
Enter fullscreen mode Exit fullscreen mode

Noscript Fallback

Lastly, you'll want to include a <noscript> tag in case the user has JavaScript turned off in their browser.

<noscript>
  <p>Have a great day!</p>
</noscript>
Enter fullscreen mode Exit fullscreen mode

Full Script

<script type="text/javascript">

  var weekday = new Array(7)

  weekday[0] = "spectacular Sunday"
  weekday[1] = "marvelous Monday"
  weekday[2] = "terrific Tuesday"
  weekday[3] = "wonderful Wednesday"
  weekday[4] = "totally cool Thursday"
  weekday[5] = "fantastic Friday"
  weekday[6] = "sweet Saturday"

  var currentDate = new Date()
  weekdayValue = currentDate.getDay()

  document.write(
    '<p>Have a ' + weekday[weekdayValue] + '!</p>'
  )
</script>

<noscript>
  <p>Have a great day!</p>
</noscript>
Enter fullscreen mode Exit fullscreen mode

Top comments (4)

Collapse
 
scottmathson profile image
Scott Mathson

I appreciate the shout-out, Anthony! 😊

Collapse
 
cerchie profile image
Lucia Cerchie

This is so fun!

Collapse
 
godpleasers profile image
Kevin Spencer

Works great in joomla as long as you use code mirror editor.

Collapse
 
jonsan32 profile image
Jon Sanders

Would it be possible to do this for every day of the year, and to make it a bunch of embedded YouTube videos as well? If so, how so? Thanks for a great post.