javascript - 可查看的内容会在设定的时间间隔内发生变化 - 但之前的内容会在之后闪现
问题描述
我正在构建一个 Web 托管菜单的示例,该菜单将被分解为多个内容块。某些内容会在一天中的特定时间发生变化(早餐到午餐菜单)。内容会在适当的时间发生变化,但几秒钟后,先前的内容会在 1-2 分钟的过程中以闪烁的方式重新出现几次,然后停止。
$( document ).ready(function() {
SetImage();
window.setInterval(SetImage,1000);
});
function SetImage(){
var nowdate = new Date() ;
var waketime = new Date();
waketime.setHours(6);
waketime.setMinutes(30);
var bedtime = new Date();
bedtime.setHours(12);
bedtime.setMinutes(00);
if(waketime < nowdate && nowdate < bedtime){
$('.day').show();
$('.night').hide();
}else{
$('.night').show();
$('.day').hide();
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col content">
<img class="day" src="images/img05.jpg"/>
<img class="night" src="images/img07.jpg"/>
</div>
<div class="col sidebar">
<img class="day" src="images/img06.jpg"/>
<img class="night" src="images/img08.jpg"/>
</div>
http://damianzannini.com/HTH/index5.html
如前所述,我能够在适当的时间更改内容,但之前可见的(现在应该隐藏的)内容会在几秒钟后继续重新出现(通常是闪烁)。我的目标是让它一旦内容发生变化,就不会发生这种闪烁,并且内容在下一个指定时间之前不会发生变化。
解决方案
在您的网站上,您将脚本放在正文之外,这是一个问题。
我会尝试添加这个 css,这样当页面加载时,两者都会立即隐藏,因为 jquery 不会在 CSS 之前加载和运行。
.day, .night{display:none;}
推荐阅读
- recursion - 解决递归的替代方法
- java - 如何为这个 JAVA 项目构建我的 Tester 类?
- android - 在 Android 上显示 HTML 页面
- editor - MWeb 发布到 Evernote 失败,“Error Domain=com.evernote.sdk Code=11”
- javascript - TypeError: Crafty.scene 不是函数
- javascript - curl 如何映射到 Google App 脚本 URLFetchApp
- c# - WPF ComboBox 项(ItemsSource 绑定)不可见
- php - 如何增加laravel中的最大执行时间?
- java - @OneToMany 和 @ManyToOne @Formula 之间的双向关系返回 null
- php - 来自软件集合的 PHP SSH2