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]);
});