试图修复一个Javascript倒计时.我不知道我在做什么
Trying to fix a Javascript Countdown. I have no idea what I'm doing
帮帮我吧,你是我唯一的希望。
上周我问了这个问题:
我需要做一个倒计时到下午4:30的计时器。到目前为止,我可以把它调到下午4点或5点,但中间没有任何一分钟。我已经设法弄明白了这些:
<script type="text/javascript">
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var d = new Date();
var weekday = new Array(7);
weekday[0] = "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
var n = weekday[d.getDay()];
var suffix = "AM";
var hoursLeft = 16 - hours;
var minsLeft = 60 - minutes;
if (minutes < 10){
minutes = "0" + minutes;
}
if (hours >= 18)
{
document.write("Same day shipping has ended for today.");
} else
if ((n === "Saturday") || (n === "Sunday"))
{
document.write("Same day shipping is not available today.");
} else {
if (hoursLeft === 0) {
document.write(minsLeft + " minutes left to have your order shipped today!");
} else {
if (hoursLeft === 1) {
document.write(hoursLeft + " hour and " + minsLeft + " minutes left to have your order shipped today!");
} else {
if ((hoursLeft === 0) && (minsLeft <= 30)){
document.write(minsLeft + " minute left to have your order shipped today!");
} else {
if (minsLeft ===1) {
document.write (hoursLeft + " hours and " + minsLeft + " minute left to have your order shipped today!");
} else {
if(minsLeft===60){
minsLeft=0;
hoursLeft++;
n === "Monday";
n === "Tuesday";
n === "Wednesday";
n === "Thursday";
n === "Friday";
}
document.write(hoursLeft + " hours and " + minsLeft + " minutes left to have your order shipped today!");
}
}
}
}
}
</script>
我需要时间倒数到下午4:30,但我只知道如何改变"var hoursLeft"将其设置为"16 -小时",这让我到下午4点,但不知道如何得到它到下午4:30。我想我会调整"var minsLeft",但有一个奇怪的错误,开始说像"2小时和-15分钟"的东西。
有人有什么想法吗?
幸运的是,才华横溢的乌托邦公司这样回应:
正如上面一位评论者建议的那样,以分钟为单位进行计算。将小时转换为总分钟,并确保分钟在参数范围内。
要显示分钟,只需使用模运算符来获得当前小时上方的分钟数。
例如,如果还剩185分钟,而你想显示"还剩3小时5分钟",
var minutesLeft = 185;
var hours = Math.floor(minutesLeft/60);
var minStr = minutesLeft % 60;
var timeLeft = hours + " hours and " + minStr + " minutes left";
当然,你要用自己的逻辑来避免说"1小时"之类的话。
但问题是,我不知道我在做什么,我们的技术人员离开了,他的继任者在他开始工作之前就辞职了。作为办公室里最书呆子的家伙,这事落在了我的腿上,但我之前没有使用过javascript。
我如何在UtopiaLtd的解决方案插入到我的原始脚本?我不想成为你的负担,但我完全不适应这里。我觉得我的无能污染了这个网站,但需要帮助,你们是我唯一能想到的。
提前感谢!
好的,那么…首先,这不是一个非常优雅的解决方案。它没有考虑时区,也没有考虑到处理时间所带来的众多警告。你应该找一些插件来帮你解决这个问题。
这应该同时帮助你。把你所有的时间计算转换成分钟,然后做数学,然后转换回小时和分钟。
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes() + (hours * 60); //Convert current time to minutes
var d = new Date();
var weekday = new Array(7);
weekday[0] = "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
var n = weekday[d.getDay()];
var suffix = "AM";
var minsLeft = (16.5 * 60) - minutes //get total minutes remaining until 16.5 (4:30 pm)
var hoursLeft = Math.floor(minsLeft / 60); //Get how many hours are in our minsLeft
var minsLeft = minsLeft % 60; //remove the hours from the minsLeft
相关文章:
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 这个旋钮没有更新;我不知道为什么
- 我不知道为什么我的代码是错误的?又有什么错
- 我不知道我的编码有什么问题.(JavaScript)
- I'我不知道为什么我的代码没有'不起作用
- sqlite查询返回错误-can'我不知道为什么
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- 我不知道如何正确地将REST响应对象传递给ReactJS子组件
- 我没有'我不知道为什么我的jqGrid子网格没有'不要给我看数据
- 如何为javascript创建自定义标签?或者这是我不知道的其他事情吗;我不知道
- 我已经用javascript制作了一个幻灯片,但我不知道如何让我的照片发呆
- 我的函数不起作用,Ajax调用,JQuery,调用外部?我不知道
- 单选按钮验证:我可以验证它,但我不知道原因
- 当我没有'我不知道关键值
- 我的素数函数坏了,但我没有;我不知道为什么
- 我得到了这个错误,但是不要;我不知道如何修复它,www.example.com/undefined?1460018627
- 可以'我不知道如何使用谷歌图表API显示2个表
- 可以'我不知道李是在徘徊
- 试图修复一个Javascript倒计时.我不知道我在做什么