Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 基于定时设置的自动弹出窗口警报框或bootstarp模式警报框_Javascript_Php_Jquery_Bootstrap Modal_Codeigniter 2 - Fatal编程技术网

Javascript 基于定时设置的自动弹出窗口警报框或bootstarp模式警报框

Javascript 基于定时设置的自动弹出窗口警报框或bootstarp模式警报框,javascript,php,jquery,bootstrap-modal,codeigniter-2,Javascript,Php,Jquery,Bootstrap Modal,Codeigniter 2,大家好,我面临的问题是,我需要一个弹出式警报框窗口,每天早上9:30自动弹出,应该在上午11:30结束,下午1:30到2:30再弹出,以增加学生的出勤率。我尝试过,但我无法根据服务器计时设置计时。请查看我的编码并帮助我,伙计们,非常感谢他们 <div class="modal fade" id="overlay"> <div class="modal-dialog"> <div class="modal-content"> <div class="m

大家好,我面临的问题是,我需要一个弹出式警报框窗口,每天早上9:30自动弹出,应该在上午11:30结束,下午1:30到2:30再弹出,以增加学生的出勤率。我尝试过,但我无法根据服务器计时设置计时。请查看我的编码并帮助我,伙计们,非常感谢他们

<div class="modal fade" id="overlay"> <div class="modal-dialog">
<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal aria-hidden="true">&times;</button>
    <h4 class="modal-title">Modal title</h4>
  </div>
  <div class="modal-body">
    <p>Context here</p>
  </div>
</div>


因为它比一条评论要长,我不得不把它贴在这里

让我这样解释。在特定时间显示模式之前,您只需要几件事。 加载页面时,当代码到达具有
Date()
函数的行时,它将记录该时刻,并在该时刻停止

这就是你需要一些实时更新时间的地方,这样你就有了实时更新时间。对于这个例子,这就是为什么我说可以使用像
moment.js
这样的库

我给你两种选择:(香草)

setInterval每1秒(1000毫秒)运行一次时间函数

为了让函数按您希望的方式运行,您可以在特定的时间使用if语句,然后在此基础上触发模态。过了一段时间再把它藏起来

对于您的if条件,您可以这样写:

if(d.getHours() == 9 && d.getMinutes() = 30){
  //show modal
}

您需要记住的一件事是,一旦加载,您的客户端就不知道服务器的状态/时间。如果您经常想根据服务器时间进行检查,则需要多次调用服务器进行检查。或者你可以使用js库,比如
moment.js
在你的客户端sideHi@Bardia我需要根据date()对象设置时间和设置时间间隔,但我仍然在尝试它不会出现yar@Bradia让我试着告诉结果还有什么。hi@Bradia我试过这段代码仍然不起作用请参见函数time(){var d=new Date();var s=d.getSeconds();var m=d.getMinutes();var h=d.getHours();span.textContent=h+“:“+m+”:“+s;}setInterval(时间,1000);如果(d.getHours()==12和&d.getMinutes()=10){$('overlay').modal('show');}setTimeout(function(){$('overlay').modal('hide');},5000);您好@Bardia我在这里尝试了另一种方法,但仍然不起作用。我可以在这里看到脚本函数time(){var d=new Date();var s=d.getSeconds();var m=d.getMinutes();var h=d.getHours();span.textContent=h+“:“+m+”:“+s;}setInterval(time,1000);如果(d.getHours()==12和&d.getMinutes()=18){$('overlay').modal('show');}setTimeout(function(){$('overlay').modal('hide');},5000);问题是,你的if条件超出了循环,没有被触发。非常感谢@Bradia的工作伙伴,我非常感谢你救了我一天。
 function time() {
  var d = new Date();
  var s = d.getSeconds();
  var m = d.getMinutes();
  var h = d.getHours();
  span.textContent = h + ":" + m + ":" + s;
}

setInterval(time, 1000);
if(d.getHours() == 9 && d.getMinutes() = 30){
  //show modal
}