在这里,我想清楚地解释我的问题,
实际上我的应用程序中有一个通知图标,用于显示名为Delay的表中的行数。如下所示
所以现在我需要的是,当我使用时点击通知图标它必须设置cookie然后在5秒后计数将自动淡出。
然后如果cookie等于我设置的cookie,它必须隐藏div #not-count
1小时。
这是我的5秒后没有cookie的淡出代码
$(document).ready(function($){
$('#notify-comet').on('click', function(e){
setTimeout(function() {
$('#not-count').fadeOut('fast');
}, 1000);
})
})
帮我解决这个问题。
答案 0 :(得分:1)
这是fiddle。
这是标记
<input type='button' value='btn' id='notify-comet' />
<div id='not-count'>test</div>
这是代码(您可能希望将其包装在适当的词法范围内)
var x = readCookie('notCount')
if(x)
{
$('#not-count').hide();
}
$('#notify-comet').on('click', function(e){
if(!x)
{
setTimeout(function() {
//I've set the 'notCount' cookie to expire in 1 minute. You can set it to 60 minutes
createCookie('notCount', 'true', 1);
$('#not-count').fadeOut('fast');
}, 5000);
}
});
function createCookie(name,value,minutes) {
if (minutes) {
var date = new Date();
date.setTime(date.getTime()+(minutes*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
由@Mandeep Janjua
创建/读取此SO thread解决方案中的cookie函数