如何将JavaScript函数转换为jQuery,以便在加载页面时使用倒计时计时器
How to convert JavaScript functions to jQuery for a countdown timer on load of a page
我有一个倒计时计时器的以下代码。我需要将JavaScript部分转换为jQuery。倒计时计时器在页面加载时开始。我该如何做到这一点,因为我必须在加载页面时加载diffTime函数。请帮帮我。提前感谢。
编辑:我得到的jquery调用不能访问**函数Tick() **从**函数CreateTimer() **。是否有任何库的** setTimeout() **在jQuery?据我所知,它是JS原生的。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
var Timer;
var TotalSeconds;
function CreateTimer(TimerID, Time) {
Timer = document.getElementById(TimerID);
TotalSeconds = Time;
//UpdateTimer()
window.setTimeout("Tick()", 1000);
}
function Tick() {
if (TotalSeconds <= 0) {
//alert("Time's up!")
document.getElementById("timeMsg").innerHTML = "Market closed!! ";
return;
}
TotalSeconds -= 1;
UpdateTimer()
window.setTimeout("Tick()", 1000);
}
function UpdateTimer() {
var Seconds = TotalSeconds;
var Days = Math.floor(Seconds / 86400);
Seconds -= Days * 86400;
var Hours = Math.floor(Seconds / 3600);
Seconds -= Hours * (3600);
var Minutes = Math.floor(Seconds / 60);
Seconds -= Minutes * (60);
var TimeStr = ((Days > 0) ? Days + " days " : "") + LeadingZero(Hours) + ":" + LeadingZero(Minutes) + ":" + LeadingZero(Seconds)
Timer.innerHTML = TimeStr;
}
function LeadingZero(Time) {
return (Time < 10) ? "0" + Time : + Time;
}
function diffTime(){
var startTime = 10*60 + 30; //starting time in minute
var lastTime = 16*60 + 30; //ending time in minutes
var thisTime = new Date(); // now
var currentYear = thisTime.getFullYear();
var currentMonth = thisTime.getMonth();
var currentDay = thisTime.getUTCDate();
var currentHour = thisTime.getHours();
var currentMinute = thisTime.getMinutes();
var currentTime = currentHour*60 + currentMinute; //current time in minute
if(currentTime >= startTime && currentTime < lastTime){
var endTime = new Date(currentYear,currentMonth,currentDay,16,30); // 4:30pm
var diff = endTime.getTime() - thisTime.getTime(); // now
var remainTime = diff / (1000); // positive number of days
remainTime = Math.ceil(remainTime);
CreateTimer("timer", remainTime);
}else{
document.getElementById("timeMsg").innerHTML = "Market closed!! ";
document.getElementById("timer").innerHTML = "00:00:00";
}
}
window.onload = diffTime;
</script>
</head>
<body>
<div><span id="timeMsg">Elapsed time remain: </span><b><span id='timer'></span></b></div>
</body>
调用document.ready()中的函数
$( document ).ready( function ()
{
diffTime();
});
如果你想让它在整个(即。图片、对象等)页面已加载:
$(window).load(function() {}
否则你可以在HTML加载完成后启动计时器&DOM准备好了:
$(document).ready(function() {}
相关文章:
- 单击时选择2(未选中),显示加载微调器javascript
- 正在Ajax调用上加载微调器
- 在引导轮播加载之前显示加载微调器
- 加载两个脚本块(使用lab.js作为加载管理器)
- 如何在ajax请求中显示加载微调器
- angular未能加载检查器中的资源错误
- UI 路由加载微调器在没有$timeout的情况下不起作用
- 如果在 Chrome 中点击链接,加载微调器将保持打开状态
- 在 jQuery Mobile 1.1 中显示大量处理之前的加载微调器
- 加载微调器在渲染时卡住
- 在谷歌阿贾克斯中显示页面加载微调器
- jQuery 的窗口加载包装器
- 加载微调器上的 AJAX
- 有效的 Adobe Scene7 URL 生成“加载播放器时出错:找不到可播放的源”
- 剑道网格加载微调器不在屏幕中央
- jQuery Mobile加载微调器无法在移动设备上工作
- AngularJS:只有经过一段时间后,才显示ajax请求的加载微调器
- 表单提交时触发页面加载微调器
- Meteor:显示初始加载时的加载微调器
- Jwplayer 闪烁“加载播放器时出错:无法加载播放器配置”