Javascript 倒计时问题
我一直在谷歌上寻找倒计时,但似乎找不到。 我只是想知道是否有人能帮忙。 我得到了一个,但它显示了错误的时间 我想让它显示剩下的天、小时、分和秒。 这是我需要的计时器 它已经有了计时器代码,但都错了,任何帮助都会很好,谢谢 如果有帮助,这里有一段Java代码Javascript 倒计时问题,javascript,jquery,html,timer,Javascript,Jquery,Html,Timer,我一直在谷歌上寻找倒计时,但似乎找不到。 我只是想知道是否有人能帮忙。 我得到了一个,但它显示了错误的时间 我想让它显示剩下的天、小时、分和秒。 这是我需要的计时器 它已经有了计时器代码,但都错了,任何帮助都会很好,谢谢 如果有帮助,这里有一段Java代码 var count = <?= $time['a_time'] ?>; var counter = setInterval(timer, 1000); //1000 will* run it every 1 second fun
var count = <?= $time['a_time'] ?>;
var counter = setInterval(timer, 1000); //1000 will* run it every 1 second
function timer() {
count = count - 1;
if(count == -1) {
clearInterval(counter);
return;
}
var seconds = count % 60;
var minutes = Math.floor(count / 60);
var hours = Math.floor(minutes / 60);
minutes %= 60;
hours %= 60;
document.getElementById("clock").innerHTML = hours + "hours " + minutes + "minutes and " + seconds + " seconds left";
}
var计数=;
var计数器=设置间隔(计时器,1000)//1000将*每1秒运行一次
函数计时器(){
计数=计数-1;
如果(计数==-1){
清除间隔(计数器);
返回;
}
var秒数=计数%60;
var分钟=数学地板(计数/60);
var小时=数学楼层(分钟/60);
分钟%=60;
小时%=60;
document.getElementById(“时钟”).innerHTML=hours+“hours”+minutes+“minutes”和“+seconds+“seconds left”;
}
好的,我知道你的问题了。存储在数据库中的a_时间
是一个Unix时间戳,因此当您倒计时时,您需要知道从now
到a_时间
之间有多长时间,而不仅仅是a_时间
试试这个:
var count = <?= $time['a_time'] ?>;
var now = Math.floor(new Date().getTime() / 1000);
count = count - now;
var counter = setInterval(timer, 1000); //1000 will* run it every 1 second
function timer() {
count = count - 1;
if(count == -1) {
clearInterval(counter);
return;
}
var seconds = count % 60;
var minutes = Math.floor(count / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
minutes %= 60;
hours %= 24;
document.getElementById("clock").innerHTML = days + "days " + hours + "hours " + minutes + "minutes and " + seconds + " seconds left";
}
var计数=;
var now=Math.floor(new Date().getTime()/1000);
计数=计数-现在;
var计数器=设置间隔(计时器,1000)//1000将*每1秒运行一次
函数计时器(){
计数=计数-1;
如果(计数==-1){
清除间隔(计数器);
返回;
}
var秒数=计数%60;
var分钟=数学地板(计数/60);
var小时=数学楼层(分钟/60);
变量天数=数学下限(小时/24);
分钟%=60;
小时%=24小时;
document.getElementById(“clock”).innerHTML=days+“days”+hours+“hours”+minutes+“minutes”和“+seconds+“seconds left”;
}
为什么不在codepen上使用一个男人的例子,比如这个漂亮的例子
?
(函数(e){
e、 fn.倒计时=函数(t,n){
函数i(){
eventDate=Date.parse(r.Date)/1e3;
currentDate=Math.floor(例如now()/1e3);
如果(eventDate=2天:“0”+天;
小时=字符串(小时)。长度>=2小时:“0”+小时;
分钟=字符串(分钟)。长度>=2分钟:“0”+分钟;
秒=字符串(秒)。长度>=2秒:“0”+秒
}
如果(!isNaN(事件日期)){
thisEl.find(“.days”).text(天);
thisEl.find(“.hours”).text(小时);
thisEl.find(“.minutes”).text(分钟);
thisEl.find(“.seconds”).text(秒)
}否则{
警报(“无效日期。示例:2013年12月30日星期二15:50:00”);
清除间隔(间隔)
}
}
var thisEl=e(本);
变量r={
日期:空,
格式:空
};
t&e.extend(r,t);
i();
间隔=设置间隔(i,1e3)
}
})(jQuery);
$(文档).ready(函数(){
函数e(){
var e=新日期;
e、 设置日期(如getDate()+60);
dd=e.getDate();
mm=e.getMonth()+1;
y=e.getFullYear();
未来格式化日期=毫米+“/”+dd+“/”+y;
返回未来格式日期
}
$(“#倒计时”)。倒计时({
日期:“2017年4月1日09:00:00”//将此日期更改为您想要的倒计时日期
格式:“on”
});
});
a_time的格式是什么??Unix我很确定好的,那么如果您在timer()中放置console.log(count);
,可能会有所帮助
运行并检查日志。是的,也许,检查pastebin链接,会给你更多的想法。谢谢你的回答,现在我唯一的问题是没有正确计算天数,它会说28小时,而不是1天4小时。这位朋友有什么想法吗?有人能帮我吗?谢谢,我现在就测试一下,然后拿到ba谢谢你干杯,我会试试这个。如果它不起作用,那里还有很多其他人。我只是搜索了倒计时日期。谢谢,我一定会有一个外观,伙计,这一个看起来像。html我是对的吗?我只是在寻找一个简单的修复当前的我只是没有正确计算天和小时
(function (e) {
e.fn.countdown = function (t, n) {
function i() {
eventDate = Date.parse(r.date) / 1e3;
currentDate = Math.floor(e.now() / 1e3);
if (eventDate <= currentDate) {
n.call(this);
clearInterval(interval)
}
seconds = eventDate - currentDate;
days = Math.floor(seconds / 86400);
seconds -= days * 60 * 60 * 24;
hours = Math.floor(seconds / 3600);
seconds -= hours * 60 * 60;
minutes = Math.floor(seconds / 60);
seconds -= minutes * 60;
days == 1 ? thisEl.find(".timeRefDays").text("day") : thisEl.find(".timeRefDays").text("days");
hours == 1 ? thisEl.find(".timeRefHours").text("hour") : thisEl.find(".timeRefHours").text("hours");
minutes == 1 ? thisEl.find(".timeRefMinutes").text("minute") : thisEl.find(".timeRefMinutes").text("minutes");
seconds == 1 ? thisEl.find(".timeRefSeconds").text("second") : thisEl.find(".timeRefSeconds").text("seconds");
if (r["format"] == "on") {
days = String(days).length >= 2 ? days : "0" + days;
hours = String(hours).length >= 2 ? hours : "0" + hours;
minutes = String(minutes).length >= 2 ? minutes : "0" + minutes;
seconds = String(seconds).length >= 2 ? seconds : "0" + seconds
}
if (!isNaN(eventDate)) {
thisEl.find(".days").text(days);
thisEl.find(".hours").text(hours);
thisEl.find(".minutes").text(minutes);
thisEl.find(".seconds").text(seconds)
} else {
alert("Invalid date. Example: 30 Tuesday 2013 15:50:00");
clearInterval(interval)
}
}
var thisEl = e(this);
var r = {
date: null,
format: null
};
t && e.extend(r, t);
i();
interval = setInterval(i, 1e3)
}
})(jQuery);
$(document).ready(function () {
function e() {
var e = new Date;
e.setDate(e.getDate() + 60);
dd = e.getDate();
mm = e.getMonth() + 1;
y = e.getFullYear();
futureFormattedDate = mm + "/" + dd + "/" + y;
return futureFormattedDate
}
$("#countdown").countdown({
date: "1 April 2017 09:00:00", // Change this to your desired date to countdown to
format: "on"
});
});