<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="https://chierchia.fr/wp-content/plugins/pretty-rss-feeds/xslt/pretty-feed.xsl" type="text/xsl" media="screen" ?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>growl - Ange Chierchia</title>
	<atom:link href="https://chierchia.fr/tag/growl/feed/" rel="self" type="application/rss+xml" />
	<link>https://chierchia.fr/tag/growl/</link>
	<description>Développeur Web full-stack</description>
	<lastBuildDate>Sun, 13 Oct 2024 10:59:40 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://chierchia.fr/wp-content/uploads/cropped-16350293-SSDKVqo3-32x32.jpg</url>
	<title>growl - Ange Chierchia</title>
	<link>https://chierchia.fr/tag/growl/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
					<title>Notifications à la Growl avec jQuery</title>
					<link>https://chierchia.fr/2011/08/notifications-growl-jquery/</link>
					<comments>https://chierchia.fr/2011/08/notifications-growl-jquery/#respond</comments>
		
		<dc:creator><![CDATA[<span class='p-author h-card'>Ange Chierchia</span>]]></dc:creator>
		<pubDate>Fri, 26 Aug 2011 19:04:51 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[jquery]]></category>
		<guid isPermaLink="false">https://nighcrawl.com/blog/2011/08/notifications-growl-jquery</guid>

					<description><![CDATA[Aujourd’hui, on va voir comment mettre en place facilement des notifications utilisateur un peu à la façon de Growl, très connu des Mac users. Du côté du markup HTML, notre notification se résumera à pas grand chose : un simple bloc fera l’affaire pour contenir notre message. On peu aussi rajouter une icône/image afin de [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class='e-content'>Aujourd’hui, on va voir comment mettre en place facilement des notifications utilisateur un peu à la façon de Growl, très connu des Mac users.<span id="more-1373"></span></p>
<p>Du côté du markup HTML, notre notification se résumera à pas grand chose : un simple bloc fera l’affaire pour contenir notre message. On peu aussi rajouter une icône/image afin de donner une information supplémentaire sur la nature de la notification. Ça n’a vraiment aucune importance, pourvu que l’information affichée soit courte. Voici mon marquage :</p>
<div class="language-plaintext highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>&lt;div class="notify"&gt;
  &lt;span class="icon"&gt;&lt;/span&gt;
  &lt;p&gt;Je suis une notification. Je vais dispara&amp;icirc;tre! Phasellus elit nunc, tristique sed sodales sit amet, tincidunt sed.&lt;/p&gt;
&lt;/div&gt;
</code></pre>
</div>
</div>
<p>Pour animer notre notification on aurait pu choisir CSS3 comme l’a fait <a title="Pop From Top Notification" href="http://css-tricks.com/13815-pop-from-top-notification/" target="_blank" rel="noopener">Chris Coyer</a>, mais je préfère utiliser jQuery pour ne pas pénaliser les navigateurs qui ne prendraient pas en compte les animations CSS, et pour m’éviter une belle tartine de définition de style :D. Voilà le Javascript :</p>
<div class="language-plaintext highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>jQuery(document).ready(function($) {
  $(".notify").css("display","none").delay(1000).fadeIn(400).delay(5500).fadeOut(800);
  $(".notify").hover(function() {
      $(this).stop(true, true).fadeIn();
  }, function() {
      $(this).stop(true, true).delay(1000).fadeIn(400).delay(5500).fadeOut(800);
  });
});
</code></pre>
</div>
</div>
<p>Le script ci-dessus permet de cacher notre notification au chargement de la page, puis après une demi seconde d’attente d’afficher notre notification en fondue pendant cinq secondes et demi pour enfin la faire disparaitre en fondue.</p>
<p>Dans le cas où notre notification est survolé par la souris (fonction <code class="language-plaintext highlighter-rouge">hover()</code>) on stoppe l’animation jusqu’à ce que la souris sorte de la notification. Une fois la souris hors de la notification, on reprend l’animation après avoir attendu une demi seconde.</p>
<p>Passons maintenant à notre feuille de style. Ce qu’il est important de noter, c’est que notre bloc contenant le message informatif doit être en <code class="language-plaintext highlighter-rouge">position : absolute</code> afin de le positionner, non pas par rapport à son conteneur mais plutôt par rapport au document HTML lui même.</p>
<div class="language-plaintext highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>.notify {
  background: rgba(0, 0, 0, 0.7);
  border: 2px solid #222222;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -moz-box-shadow: 0 3px 5px rbga(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 3px 5px rbga(0, 0, 0, 0.4);
  box-shadow: 0 3px 5px rbga(0, 0, 0, 0.4);
  color: #ffffff;
  font-size: .8em;
  max-width: 246px;
  padding: 25px;
  position: absolute;
  right: 8px;
  top: 8em;
}
.notify:hover {
  border: 2px solid #eeeeee;
}
.notify p {
  cursor: default;
  margin: 0;
}
.notify .icon {
  background: url("../img/notify_icon.png") no-repeat;
  display: block;
  height: 40px;
  left: -30px;
  position: absolute;
  top: 10px;
  width: 40px;
}
</code></pre>
</div>
</div>
<p>C’est fini ! Vous pouvez <a href="https://nighcrawl.github.io/growl-notification/">voir la démo</a> et <a href="https://github.com/nighcrawl/growl-notification/">télécharger les sources</a> sur GitHub.</p>
<p>&nbsp;</p></div>
]]></content:encoded>
					
					<wfw:commentRss>https://chierchia.fr/2011/08/notifications-growl-jquery/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
