Jquery-Stylish-Timer是一款简单漂亮的jQuery计时器插件。该计时器插件可以实现秒、分钟和小时的计时功能,并带有开始、暂停和重新开始计时的按钮功能。
使用方法
该计时器插件的计时功能依赖于jquery-runner插件。
<link rel="stylesheet" type="text/css" href="style.css"> <script src="js/jquery.min.js"></script> <script src="js/jquery-runner.js"></script>
HTML结构
DEMO中的计时器代码的HTML结构使用Bootstrap来进行布局,其结构如下:
<div class="container-fluid"> <div class="col-xs-12 fill"> <span id="runner"></span><br><br> <div class="col-sm-10 col-sm-offset-2"> <div class="col-xs-4 col-sm-3 centered"><button id="stopBtn"></button></div> <div class="col-xs-4 col-sm-3 centered"><button id="startBtn"></button></div> <div class="col-xs-4 col-sm-3 centered"><button id="resetBtn"></button></div> </div> </div> </div>
初始化插件
在页面DOM元素初始化完毕之后,可以通过下面的方法来初始化该计时器插件。
$('#runner').runner({ milliseconds: false, format: function millisecondsToString(milliseconds) { var oneHour = 3600000; var oneMinute = 60000; var oneSecond = 1000; var seconds = 0; var minutes = 0; var hours = 0; var result; if (milliseconds >= oneHour) { hours = Math.floor(milliseconds / oneHour); } milliseconds = hours > 0 ? (milliseconds - hours * oneHour) : milliseconds; if (milliseconds >= oneMinute) { minutes = Math.floor(milliseconds / oneMinute); } milliseconds = minutes > 0 ? (milliseconds - minutes * oneMinute) : milliseconds; if (milliseconds >= oneSecond) { seconds = Math.floor(milliseconds / oneSecond); } milliseconds = seconds > 0 ? (milliseconds - seconds * oneSecond) : milliseconds; if (hours > 0) { result = (hours > 9 ? hours : "0" + hours) + ":"; } else { result = "00:"; } if (minutes > 0) { result += (minutes > 9 ? minutes : "0" + minutes) + ":"; } else { result += "00:"; } if (seconds > 0) { result += (seconds > 9 ? seconds : "0" + seconds); } else { result += "00"; } return result; } });
开始计时按钮、停止计时按钮和重置按钮分别要添加相应的方法,以及在点击的时候添加和移除相应的class类。
$('#startBtn').click(function() { $('#runner').runner('start'); $(this).addClass('activeBtn'); $('#stopBtn').removeClass('activeBtn'); }); $('#stopBtn').click(function() { $('#runner').runner('stop'); $(this).addClass('activeBtn'); $('#startBtn').removeClass('activeBtn'); }); $('#resetBtn').click(function() { $('#runner').runner('reset'); $('#stopBtn').removeClass('activeBtn'); $('#startBtn').removeClass('activeBtn'); });