Mise à jour:
utilisées Code:
$(function(){
$('#smsg_link').click(function(){
showMessage('#9BED87', 'black', 'This is sample success message');
return false;
});
$('#imsg_link').click(function(){
showMessage('#FFE16B', 'black', 'This is sample info message');
return false;
});
$('#emsg_link').click(function(){
showMessage('#ED869B', 'black', 'This is sample error message');
return false;
});
});
/*
showMessage function by Sarfraz:
-------------------------
Shows fancy message on top of the window
params:
- bgcolor: The background color for the message box
- color: The text color of the message box
- msg: The message text
*/
var interval = null;
function showMessage(bgcolor, color, msg)
{
$('#smsg').remove();
clearInterval(interval);
if (!$('#smsg').is(':visible'))
{
if (!$('#smsg').length)
{
$('<div id="smsg">'+msg+'</div>').appendTo($('body')).css({
position:'fixed',
top:0,
left:0,
width:'98%',
height:'30px',
lineHeight:'30px',
background:bgcolor,
color:color,
zIndex:1000,
padding:'10px',
fontWeight:'bold',
fontSize:'18px',
textAlign:'center',
opacity:0.8,
margin:'auto',
display:'none'
}).slideDown('show');
interval = setTimeout(function(){
$('#smsg').animate({'width':'hide'}, function(){
$('#smsg').remove();
});
}, 3000);
}
}
}
I Si vous souhaitez créer le vôtre, consultez la fonction slideToggle
de jQuery.
Plutôt que d'avoir une bascule après la ligne append faites simplement ceci: bar.style.display = message === ''? 'none': 'block'; Ensuite, quand vous voulez vous débarrasser de la barre juste: myMessageBar.setMessage (''); –
La modification de la visibilité me semble être une API beaucoup plus intuitive. Je m'attendrais à ce qu'un message vide s'affiche comme un message vide, plutôt que pas de barre du tout. – Matchu
Comment invoqueriez-vous myMessageBar.toggleVisibility() comme onclick pour la barre? –