javascript - 可查看的内容按设定的时间间隔更改 - 但之前的内容会在之后闪烁到 View 中

标签 javascript jquery css

我正在构建一个网络托管菜单的示例,该菜单将被分解为多个内容 block 。某些内容会在一天中的固定时间更改(早餐到午餐菜单)。内容会在适当的时间发生变化,但几秒钟后,之前的内容会在 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

如前所述,我能够在适当的时间更改内容,但之前可见的(现在应该隐藏的)内容在几秒钟后继续重新出现(通常是闪烁的)。我的目标是让它一旦内容发生变化,就不会发生这种闪烁,并且在下一个指定时间之前内容不会发生变化。

最佳答案

在您的网站上,您将脚本放在 body 之外,这是一个问题。

我会尝试添加这个 css,这样当页面加载时,两者都会立即隐藏,因为 jquery 不会在 CSS 之前加载和运行。

.day, .night{display:none;}

关于javascript - 可查看的内容按设定的时间间隔更改 - 但之前的内容会在之后闪烁到 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55522896/

相关文章:

javascript - 重新加载页面后显示警报

css - Drupal Omega 主题 : Centering the logo image

php - 如何在 CSS 中隐藏 PHP URL 链接

css - 使用颜色操作的 Sass 函数

javascript - 使用requireJS加载html代码中的 'lib/request'

javascript - 谷歌街景: Show markers within given radius

javascript - 如何在不重复的情况下随机访问所有数组

单击切换另一个元素的文本和 css 类上的 Jquery 按钮

javascript - bootstrapvalidator 必填的两个字段之一

JavaScript 和 jQuery;如何进行捕捉拖放