Reputation:
I had set notification on my site,
This is the jquery for notification bar:
function showNotification(params){
// options array
var options = {
'showAfter': 0, // number of sec to wait after page loads
'duration': 0, // display duration
'autoClose' : false, // flag to autoClose notification message
'type' : 'success', // type of info message error/success/info/warning
'message': '', // message to dispaly
'link_notification' : '', // link flag to show extra description
'description' : '' // link to desciption to display on clicking link message
};
// Extending array from params
$.extend(true, options, params);
var msgclass = 'succ_bg'; // default success message will shown
if(options['type'] == 'error'){
msgclass = 'error_bg'; // over write the message to error message
} else if(options['type'] == 'information'){
msgclass = 'info_bg'; // over write the message to information message
} else if(options['type'] == 'warning'){
msgclass = 'warn_bg'; // over write the message to warning message
}
// Parent Div container
var container = '<div id="info_message" class="'+msgclass+'"><div class="center_auto"><div class="info_message_text message_area">';
container += options['message'];
container += '</div><div class="info_close_btn button_area" onclick="return closeNotification()"></div><div class="clearboth"></div>';
container += '</div><div class="info_more_descrption"></div></div>';
$notification = $(container);
// Appeding notification to Body
$('body').append($notification);
var divHeight = $('div#info_message').height();
// see CSS top to minus of div height
$('div#info_message').css({
top : '-'+divHeight+'px'
});
// showing notification message, default it will be hidden
$('div#info_message').show();
// Slide Down notification message after startAfter seconds
slideDownNotification(options['showAfter'], options['autoClose'],options['duration']);
$('.link_notification').live('click', function(){
$('.info_more_descrption').html(options['description']).slideDown('fast');
});
}
// function to close notification message
// slideUp the message
function closeNotification(duration){
var divHeight = $('div#info_message').height();
setTimeout(function(){
$('div#info_message').animate({
top: '-'+divHeight
});
// removing the notification from body
setTimeout(function(){
$('div#info_message').remove();
},200);
}, parseInt(duration * 3000));
}
// sliding down the notification
function slideDownNotification(startAfter, autoClose, duration){
setTimeout(function(){
$('div#info_message').animate({
top: 0
});
if(autoClose){
setTimeout(function(){
closeNotification(duration);
}, duration);
}
}, parseInt(startAfter * 5000));
}
This is the code i added in index page:
<script >
function showAutoCloseMessage(){
showNotification({
message: "You cart total must be at least $200 for free shipping",
autoClose: true,
duration: 2
});
}
$(document).ready(function() {
showAutoCloseMessage();
});
</script>
Now i need to set cookies for this. I need, when user enter the website, that time only show notification bar, after that don't show. I mean, when user reload the site don't show the notification bar.
Can anybody help me? Thanks in advance.
Upvotes: 1
Views: 2883
Reputation: 78
you can use cookie plugin and put the condition,
if ($.cookie('setCookie') == null) {
...
}
Upvotes: 1