Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于一天中的时间触发javascript事件_Javascript - Fatal编程技术网

基于一天中的时间触发javascript事件

基于一天中的时间触发javascript事件,javascript,Javascript,我正在寻找帮助,看看是否有一种简单快捷的方法可以根据网站在浏览器中打开的时间触发JS事件 基本上,我想做的是在下午5点到早上5点之间,本地时区的用户可以启动这个脚本。该脚本当前连接到一个按钮,该按钮只需将页面主体的类翻转到“夜间模式”。我想两者协调工作,根据时间自动执行,如果你想要黑暗或光明的主题,可以用按钮覆盖 function toggleClass(element, className) { if (!element || !className) { return; } var c

我正在寻找帮助,看看是否有一种简单快捷的方法可以根据网站在浏览器中打开的时间触发JS事件

基本上,我想做的是在下午5点到早上5点之间,本地时区的用户可以启动这个脚本。该脚本当前连接到一个按钮,该按钮只需将页面主体的类翻转到“夜间模式”。我想两者协调工作,根据时间自动执行,如果你想要黑暗或光明的主题,可以用按钮覆盖

function toggleClass(element, className) {
if (!element || !className) {
    return;
}
var classString = element.className,
    nameIndex = classString.indexOf(className);
if (nameIndex == -1) {
    classString += ' ' + className;
} else {
    classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);
}
element.className = classString;
}

document.getElementById('day-btn').addEventListener('click', function() {
    toggleClass(document.getElementById('body'), 'night');
});

var time=新日期();
元素=document.getElementById('body');
className=“夜间”;
log(time.getHours());
if(time.getHours()>17 | | time.getHours<5){
if(!element | |!className){
返回;
}
var classString=element.className,
nameIndex=classString.indexOf(className);
如果(名称索引==-1){
classString+=''+类名;
}否则{
classString=classString.substr(0,nameIndex)+classString.substr(nameIndex+className.length);
}
element.className=classString;
}
这使用了JS从系统中提取的内置日期功能。它运行一个getHours()函数,该函数返回一个int(0-23)。if语句
(time.getHours()>17 | | time.getHours<5)
将仅在下午5点之后或凌晨5点之前运行代码并更改主题。希望这能让你开始

var time = new Date();
element = document.getElementById('body');
className = "night";
console.log(time.getHours());
if(time.getHours() > 17 || time.getHours < 5) {
    if (!element || !className) {
        return;
    }
    var classString = element.className,
        nameIndex = classString.indexOf(className);
    if (nameIndex == -1) {
        classString += ' ' + className;
    } else {
        classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);
    }
    element.className = classString;
}