Javascript concat() 没有正常工作
Javascript concat() not working as it should be
<!DOCTYPE html>
<html>
<script>
function myFunction() {
var objDate = new Date();
var hours = objDate.getHours();
var mins = objDate.getMinutes();
var time = hours.concat(mins);
window.alert(time);
if (time>=1600&&time<=0900) {
document.body.style.background ="url('closed.png') no-repeat";
} else if (time>=1230&&time<=1315) {
document.body.style.background ="url('lunch.png') no-repeat";
} else {
document.body.style.background ="url('open.png') no-repeat";
}
}
setInterval(myFunction, 3000);
</script>
</html>
在第 8 行
"var time = hours.concat(mins);"
我得到 "Uncaught TypeError: undefined is not a function" 并且它拒绝继续。我想做的就是指定它是在某个时间段内开放、关闭还是在午餐时间。时间表从来没有真正改变过,所以它不需要比这更先进。
getHours()
returns 一个数字,所以它没有 concat
方法,所以你的脚本应该抛出一个错误说 Uncaught TypeError: undefined is not a function
function myFunction() {
var objDate = new Date();
var hours = objDate.getHours()+'';
var mins = objDate.getMinutes();
var time = hours.concat(mins); //or hours + ':' + mins
window.alert(time);
}
setInterval(myFunction, 3000);
但是对于你的背景样式相关的计算,时间以分钟为单位会更好
function myFunction() {
var objDate = new Date();
var hours = objDate.getHours();
var mins = objDate.getMinutes();
var time = hours * 60 + mins;
if (time >= 960 || time <= 540) {
document.body.style.background = "url('closed.png') no-repeat";
} else if (time >= 750 && time <= 795) {
document.body.style.background = "url('lunch.png') no-repeat";
} else {
document.body.style.background = "url('open.png') no-repeat";
}
}
setInterval(myFunction, 3000);
concat() 用于连接两个数组。你只想连接两个字符串。尝试
var time = hours.toString() + mins.toString();
<!DOCTYPE html>
<html>
<script>
function myFunction() {
var objDate = new Date();
var hours = objDate.getHours();
var mins = objDate.getMinutes();
var time = hours.concat(mins);
window.alert(time);
if (time>=1600&&time<=0900) {
document.body.style.background ="url('closed.png') no-repeat";
} else if (time>=1230&&time<=1315) {
document.body.style.background ="url('lunch.png') no-repeat";
} else {
document.body.style.background ="url('open.png') no-repeat";
}
}
setInterval(myFunction, 3000);
</script>
</html>
在第 8 行 "var time = hours.concat(mins);" 我得到 "Uncaught TypeError: undefined is not a function" 并且它拒绝继续。我想做的就是指定它是在某个时间段内开放、关闭还是在午餐时间。时间表从来没有真正改变过,所以它不需要比这更先进。
getHours()
returns 一个数字,所以它没有 concat
方法,所以你的脚本应该抛出一个错误说 Uncaught TypeError: undefined is not a function
function myFunction() {
var objDate = new Date();
var hours = objDate.getHours()+'';
var mins = objDate.getMinutes();
var time = hours.concat(mins); //or hours + ':' + mins
window.alert(time);
}
setInterval(myFunction, 3000);
但是对于你的背景样式相关的计算,时间以分钟为单位会更好
function myFunction() {
var objDate = new Date();
var hours = objDate.getHours();
var mins = objDate.getMinutes();
var time = hours * 60 + mins;
if (time >= 960 || time <= 540) {
document.body.style.background = "url('closed.png') no-repeat";
} else if (time >= 750 && time <= 795) {
document.body.style.background = "url('lunch.png') no-repeat";
} else {
document.body.style.background = "url('open.png') no-repeat";
}
}
setInterval(myFunction, 3000);
concat() 用于连接两个数组。你只想连接两个字符串。尝试
var time = hours.toString() + mins.toString();