如何使用Onclick Jquery事件

时间:2015-09-03 05:46:38

标签: javascript php jquery cookies

在这里,我想清楚地解释我的问题,

实际上我的应用程序中有一个通知图标,用于显示名为Delay的表中的行数。如下所示

IMAGE!

所以现在我需要的是,当我使用时点击通知图标它必须设置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); 
        })

    }) 

帮我解决这个问题。

1 个答案:

答案 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函数