Javascript ¿;如何一天只显示一次特定容器?
当一些用户访问web时,我需要在页面底部显示典型的“使用cookies”消息,每天只显示一次,我正在尝试,但我的代码无法正常工作。这是我到目前为止的代码Javascript ¿;如何一天只显示一次特定容器?,javascript,html,cookies,Javascript,Html,Cookies,当一些用户访问web时,我需要在页面底部显示典型的“使用cookies”消息,每天只显示一次,我正在尝试,但我的代码无法正常工作。这是我到目前为止的代码 <div id="cookie1"> </div> <button id="botoncookie">Acept</button> <script type="text/javascript"> document.getElementById('cookie1').st
<div id="cookie1"> </div>
<button id="botoncookie">Acept</button>
<script type="text/javascript">
document.getElementById('cookie1').style.bottom = '-50px';
var expiresdate = 5000 ; //1 day
$('#botoncookie').on('click',function(){
var mensaje = document.cookie.split('cookie1=')[1] + expiresdate;
$('#botoncookie').hide();
$('#cookie1').hide();
});
if(mensaje != null){
document.getElementById('cookie1').style.display = 'none';
}else{
document.cookie = 'cookie1=visto;path=/';
}
</script>
Acept
document.getElementById('cookie1').style.bottom='-50px';
var expiresdate=5000//一天
$('botoncokie')。在('click',function()上{
var mensaje=document.cookie.split('cookie1=')[1]+expiresdate;
$('botoncokie').hide();
$('#cookie1').hide();
});
if(mensaje!=null){
document.getElementById('cookie1').style.display='none';
}否则{
document.cookie='cookie1=visto;path=/';
}
设置cookie的过期时间为24*60*60,并且每当加载页面时,检查cookie是否存在,否则,显示消息。当加载页面时,执行以下功能。这将检查cookieMsg何时显示。如果今天已显示,则无需显示。作为一种边界情况,第一次加载时,它将为null,并且无论如何都可以工作
编辑:在前面的代码片段中,我刚刚比较了包含时间的日期,您需要专门检查日期
function displayMsg(){
var today = new Date();
var lastDisplayedOn = localStorage.getItem('cookieLastDisplayed');
if(lastDisplayedOn){
var ld = new Date(lastDisplayedOn)
if(today.getDate() == ld.getDate() && today.getMonth() == ld.getMonth() && today.getFullYear() == ld.getFullYear()){
donotDisplay()
}else{
displayCookie()
}
}else{
displayCookie()
}
}
当然,这是我的想法,但我希望使用本地存储,因为我有更多的storarespace@kukiko11我更改了代码片段,早些时候我比较了原始日期,其中也包括时间。请试试这个。我已经在Chrome上测试过了。