如何在加载页面时将JavaScript函数转换为用于倒计时的jQuery
我有下面的倒计时代码。我需要将JavaScript部分转换为jQuery。页面加载时,倒计时开始。我如何才能做到这一点,因为我必须在加载页面时加载diffTime函数。请帮帮我。提前谢谢 编辑:我发现jquery调用无法从**函数CreateTimer**访问**函数Tick**。jQuery中是否有**setTimeout**的库?据我所知,它是JS的原生版本如何在加载页面时将JavaScript函数转换为用于倒计时的jQuery,javascript,jquery,countdowntimer,Javascript,Jquery,Countdowntimer,我有下面的倒计时代码。我需要将JavaScript部分转换为jQuery。页面加载时,倒计时开始。我如何才能做到这一点,因为我必须在加载页面时加载diffTime函数。请帮帮我。提前谢谢 编辑:我发现jquery调用无法从**函数CreateTimer**访问**函数Tick**。jQuery中是否有**setTimeout**的库?据我所知,它是JS的原生版本 <html> <head> <script type="text/javascript" src
<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();
});
如果希望在加载整个ie图像、对象等页面后启动:
$(window).load(function() {}
否则,可以在加载HTML和DOM准备就绪后启动计时器:
$(document).ready(function() {}
看起来你根本没试过转换它。先研究一下基础知识。试着了解什么是JavaScript,什么是JQuery,你会得到答案的。谢谢你的回复。在我把它贴在这里之前,我已经试过这种方法了。但是它不起作用。您的页面中包含jquery库了吗?谢谢。我用过谢谢你的特努布。我两种方法都试过了,但都不管用。