Mastering Font Awesome - Pulsing Wifi Icon Sandbox

A sandbox for the "Mastering Font Awesome" Udemy course.

by Jacob Hill

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
	<div class="container">
		<div class="navbar-header">
			<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
			<a class="navbar-brand" href="#">TEKFused</a>
		</div>
		<!-- Nav bar -->
		<div class="collapse navbar-collapse" id="navbar-collapse">
			
			<!-- Left Nav links -->
			<ul class="nav navbar-nav">
				<li>
					<a href="#" title="Home" class="fa fa-home fa-2x"></a>
				</li>
				<li>
					<a href="#" title="Share" class="fa fa-share-alt fa-2x"></a>
				</li>
				<li>
					<a href="#" title="Search" class="fa fa-search fa-2x"></a>
				</li>
			</ul>
			
			<!-- Right Nav links -->
			<ul class="nav navbar-nav navbar-right">
				<li>
					<a href="#" title="Cart" class="fa fa-shopping-cart fa-2x"></a>
				</li>
				<li>
					<a href="#" title="My Profile" class="fa fa-user-circle fa-2x"></a>
				</li>
			</ul>
		</div>
	</div>
</nav>

<!-- Page Content -->
<div class="container" id="content">
	<div class="row">
		<div class="col-sm-12">
			<i class="btn btn-default btn-circle fa fa-wifi offline" id="wifiStatus"></i>
			<h2>Section Box #1</h2>
			<button class="toggleWifiButton btn btn-success" toggle="online;offline">Connect Wifi</button>
			<button class="toggleWifiButton btn btn-danger"...

CSS

#wifiStatus {
	transition:color 2s ease-in-out, background-color 1s;
}

.offline {
  color:#814F4D;
}

.online {
  color:#708271;
}

#content .fa {
    font-size: 150px;
    display: block;
    text-align: center;
}

body {
	padding-top:100px;
}

#content {
	text-align:center;
}

h2 {
	margin-top:35px;
}

.btn-circle {
    width: 275px;
    height: 275px;
    line-height: 275px;
    margin: 0 auto;
    border-radius: 50%;
}

JavaScript

// wifi status
setInterval(function()
{
	if ($('#wifiStatus').hasClass('offline') === true)
	{
		var wifiIndicatorColor = '#814F4D';
		var wifiIndicatorColorShimmer = '#B71C17';
	}
	else if ($('#wifiStatus').hasClass('online') === true)
	{
		var wifiIndicatorColor = '#7D9978';
		var wifiIndicatorColorShimmer = '#97B291';
	}

	$('#wifiStatus').css('color', wifiIndicatorColorShimmer);

	setTimeout(function()
	{
		$('#wifiStatus').css('color', wifiIndicatorColor);
	}, 1500);
}, 3000);

$('.toggleWifiButton').click(function()
{
	var classes = $(this).attr('toggle').split(';');
	$('#wifiStatus').removeClass(classes[1]).addClass(classes[0]);
});