Goal
Display random quotes using the Ron Swanson Quotes API.
Project
View Source
(function() {
let apiURL = "//ron-swanson-quotes.herokuapp.com/v2/quotes";
let elError = document.querySelector( "#error-message" );
let displayError = message =>
{
elError.innerText = message;
elError.classList.remove( "hidden" );
};
let fetchQuote = () =>
{
return fetch( apiURL )
.then( response => response.json() )
.then( json =>
{
if( json[0] )
{
elError.classList.add( "hidden" );
return json[0];
}
throw new Error( "The server returned an unexpected response." );
})
.catch( error =>
{
displayError( error.message );
});
}
let renderQuote = quote =>
{
if( quote )
{
document.querySelector( "blockquote" ).innerHTML = `“${quote}”`;
}
};
let getQuote = () =>
{
fetchQuote()
.then( quote => renderQuote( quote ) )
.catch( error => console.error( error ) );
}
getQuote();
document.querySelector( "button" ).addEventListener( "click", getQuote );
})();
Projects
- Toggle Password Visibility
- Toggle Multiple Password Fields
- Toggle Passwords in Multiple Forms
- Character Count
- Character and Word Count
- Announcing the Count
- Random Ron
- Random Ron Without Duplicates
- New York Times Top Stories
- New York Times Multiple Categories
- Sanitizing the NYT API Data
- Monster Shuffle