<?xml version="1.0" encoding="UTF-8"?>
<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>{curlybracket} &#187; Javascript/jQuery</title>
	<atom:link href="http://curlybracket.net/tag/javascript-jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://curlybracket.net</link>
	<description>Development &#38; Design for digital media</description>
	<lastBuildDate>Thu, 02 Feb 2012 14:56:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>E-mail spam protection with jQuery</title>
		<link>http://curlybracket.net/2011/07/08/e-mail-spam-protection-with-jquery/</link>
		<comments>http://curlybracket.net/2011/07/08/e-mail-spam-protection-with-jquery/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 15:38:25 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1896</guid>
		<description><![CDATA[To protect e-mails from spam robots I recommend using this technique, which will only reveal the e-mail adress for users with Javascript enabled, which is typically not the case of robots searching for e-mail adresses. &#60;script type="text/javascript"&#62; jQuery(document).ready(function() { $('a.mail').each(function() &#8230; <a href="http://curlybracket.net/2011/07/08/e-mail-spam-protection-with-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To protect e-mails from spam robots I recommend using this technique, which will only reveal the e-mail adress for users with Javascript enabled, which is typically not the case of robots searching for e-mail adresses.</p>
<pre>&lt;script type="text/javascript"&gt;
jQuery(document).ready(function() {
$('a.mail').each(function() {
  e = this.rel.replace('#/#','@'); // replace #/# by @
  this.title = ''; // delete the title attribute
  this.href = 'mailto:' + e; // add mailto and href instead of rel
  $(this).html(e); // replace "Contact" by complete email address
  });
})
&lt;/script&gt;</pre>
<p>Of course. you have to include the jQuery library in your &lt;head&gt; section to make this work.</p>
<p>Then you can write emails like this and they will be automatically replaced by Javascript :</p>
<pre>&lt;a href="<a href="view-source:http://www.pretatacher.com/#">#</a>" class="mail" rel="example#/#example.com" title="Please enable Javascript to get the contact adress."&gt;Contact&lt;/a&gt;</pre>
<p>You may use any suite of caracters for &laquo;&nbsp;#/#&nbsp;&raquo;, except $ or +, just replace them in the script AND the markup.</p>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2011/07/08/e-mail-spam-protection-with-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alert users to update their browser via jQuery</title>
		<link>http://curlybracket.net/2011/07/08/alert-users-to-update-their-browser-via-jquery/</link>
		<comments>http://curlybracket.net/2011/07/08/alert-users-to-update-their-browser-via-jquery/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 15:27:24 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1893</guid>
		<description><![CDATA[Sometimes I am too lazy, too busy, not well paid enough or just not willing to make a website work in old and deprecated browsers like IE6. However, I&#8217;d like the users to know that they could have a better &#8230; <a href="http://curlybracket.net/2011/07/08/alert-users-to-update-their-browser-via-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes I am too lazy, too busy, not well paid enough or just not willing to make a website work in old and deprecated browsers like IE6.</p>
<p>However, I&#8217;d like the users to know that they could have a better experience of my sites if they&#8217;d just upgrade their browser to a newer version or to another one, more up-to-date.</p>
<p>That is why I like to use jQuery to tell them :</p>
<pre>&lt;script type="text/javascript"&gt;
jQuery(document).ready(function() {
if ($.browser.msie) { // case Internet Explorer
 var version = parseInt($.browser.version, 10);
   if(version &lt; 7) { // all versions before IE7
     $('&lt;div id="oldbrowser" class="alert"&gt;Please upgrade your browser to get full user experience.&lt;/div&gt;').appendTo(document.body);
   }
 }
});
&lt;/script&gt;</pre>
<p>Of course you have to first include the latest jQuery library to the &lt;head&gt; section of your site.</p>
<p>The CSS to place the message at the beginning of the page:</p>
<pre>#oldbrowser {
   position: absolute;
   top: 1em;
   left: 1em;
}
.alert {
  color: red;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2011/07/08/alert-users-to-update-their-browser-via-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LeitaProd</title>
		<link>http://curlybracket.net/2011/05/16/leitaprod/</link>
		<comments>http://curlybracket.net/2011/05/16/leitaprod/#comments</comments>
		<pubDate>Mon, 16 May 2011 22:04:49 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1865</guid>
		<description><![CDATA[LeitaProd est une jeune boîte de production de films publicitaires et de reportages parisienne.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1866" title="leita" src="http://curlybracket.net/wp-content/uploads/2011/05/leita.jpg" alt="" width="850" height="656" /></p>
<p>LeitaProd est une jeune boîte de production de films publicitaires et de reportages parisienne.</p>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2011/05/16/leitaprod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hands up! Studio de graphisme</title>
		<link>http://curlybracket.net/2011/02/20/handsup-studio/</link>
		<comments>http://curlybracket.net/2011/02/20/handsup-studio/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 12:12:54 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[font-face]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1823</guid>
		<description><![CDATA[hands up ! est un studio de graphisme à Paris dont je fais partie en tant que responsable du développement web.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1824" title="handsup" src="http://curlybracket.net/wp-content/uploads/2011/02/handsup.png" alt="" width="720" height="507" /></p>
<p><em>hands up !</em> est un studio de graphisme à Paris dont je fais partie en tant que responsable du développement web.</p>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2011/02/20/handsup-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giorgos Tsikalakis</title>
		<link>http://curlybracket.net/2010/11/15/giorgos-tsikalakis/</link>
		<comments>http://curlybracket.net/2010/11/15/giorgos-tsikalakis/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 12:56:17 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[Static]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1541</guid>
		<description><![CDATA[Site-galerie pour le peintre grec Giorgos Tsikalakis.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1750" title="giorgos tsikalakis" src="http://curlybracket.net/wp-content/uploads/2010/11/Bildschirmfoto-1.png" alt="" width="850" height="627" /></p>
<p>Site-galerie pour le peintre grec Giorgos Tsikalakis.</p>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2010/11/15/giorgos-tsikalakis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tsuneko Taniuchi</title>
		<link>http://curlybracket.net/2010/05/20/tsuneko-taniuchi-2/</link>
		<comments>http://curlybracket.net/2010/05/20/tsuneko-taniuchi-2/#comments</comments>
		<pubDate>Thu, 20 May 2010 16:40:00 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1080</guid>
		<description><![CDATA[Cela fait maintenant 6 ans que la première version du site web de l&#8217;artiste Tsuneko Taniuchi a vu le jour, et il était temps de le refaire avec des images plus grandes, avec plus d&#8217;informations et sans Flash. Le voilà &#8230; <a href="http://curlybracket.net/2010/05/20/tsuneko-taniuchi-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://curlybracket.net/wp-content/uploads/2010/05/tsuneko.png"><img class="alignnone size-full wp-image-1620" title="tsuneko" src="http://curlybracket.net/wp-content/uploads/2010/05/tsuneko.png" alt="" width="850" height="520" /></a></p>
<p>Cela fait maintenant 6 ans que la <a href="http://curlybracket.net/2004/11/12/tsuneko-taniuchi/">première version du site web</a> de l&#8217;artiste Tsuneko Taniuchi a vu le jour, et il était temps de le refaire avec des images plus grandes, avec plus d&#8217;informations et sans Flash. Le voilà !</p>
<p>Mon envie était de créer un design sobre et simple. J&#8217;ai utilisé quelques éléments CSS3 pour ce site et il est préférable de le regarder avec un navigateur récent.</p>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2010/05/20/tsuneko-taniuchi-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emmanuelle Vizet</title>
		<link>http://curlybracket.net/2010/03/18/emmanuelle-vizet-architectes-dplg/</link>
		<comments>http://curlybracket.net/2010/03/18/emmanuelle-vizet-architectes-dplg/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 22:25:30 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=1085</guid>
		<description><![CDATA[Pour le couple d&#8217;architectes Vizet, j&#8217;ai créé un thème WordPress sur mesure, d&#8217;après le concept et le design de Mathias Delfau. Le thème implémente diverses galeries d&#8217;images. Un espace restreint permet aux clients et aux collaborateurs de télécharger des documents &#8230; <a href="http://curlybracket.net/2010/03/18/emmanuelle-vizet-architectes-dplg/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://curlybracket.net/wp-content/uploads/2010/03/vizet1.png"><img class="alignnone size-full wp-image-1626" title="vizet" src="http://curlybracket.net/wp-content/uploads/2010/03/vizet1.png" alt="" width="850" height="555" /></a></p>
<p><strong>Pour le couple d&#8217;architectes Vizet, j&#8217;ai créé un thème WordPress sur mesure, d&#8217;après le concept et le design de <a rel="nofollow" href="http://mathias-delfau.com">Mathias Delfau</a>. Le thème implémente diverses galeries d&#8217;images. Un espace restreint permet aux clients et aux collaborateurs de télécharger des documents les concernant.</strong></p>
<p>Für das Architektenpaar Vizet habe ich ein maßgeschneidertes WordPressthema erstellt, nach einem Design und Konzept von <a rel="nofollow" href="http://mathias-delfau.com">Mathias Delfau</a>. Das Thema enthält diverse Bildergalerien. Kunden und freie Mitarbeiter können Dokumente in einer zugangsbeschränkten Zone herunterladen.</p>
<p><em>I have created a very special WordPress theme for the website of the architect couple Vizet, follwing the concept and graphics invented by <a rel="nofollow" href="http://mathias-delfau.com">Mathias Delfau</a>. The theme contains various image galleries. Clients and associates may download documents via a restricted area.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2010/03/18/emmanuelle-vizet-architectes-dplg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom horizontal and vertical scrollbars at a time with jQuery</title>
		<link>http://curlybracket.net/2010/02/27/custom-horizontal-and-vertical-scrollbars-at-a-time-with-jquery/</link>
		<comments>http://curlybracket.net/2010/02/27/custom-horizontal-and-vertical-scrollbars-at-a-time-with-jquery/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 21:07:50 +0000</pubDate>
		<dc:creator>rike</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<guid isPermaLink="false">http://curlybracket.net/?p=967</guid>
		<description><![CDATA[Update 11/2011: This article is somewhat deprecated. There is now a new version of Kelvin Luck&#8217;s jScollPane that works better with WordPress and integrates vertical and horizontal scrollbars. No more CSS tweaks are needed. A client of mine wanted to &#8230; <a href="http://curlybracket.net/2010/02/27/custom-horizontal-and-vertical-scrollbars-at-a-time-with-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Update 11/2011: This article is somewhat deprecated. There is now a<a href="http://jscrollpane.kelvinluck.com/"> new version of Kelvin Luck&#8217;s jScollPane</a> that works better with WordPress and integrates vertical and horizontal scrollbars. No more CSS tweaks are needed.</p>
<p>A <a href="http://vizet-architectes.fr">client of mine</a> wanted to use custom scrollbars for a website. I quickly found <a href="http://www.kelvinluck.com/projects/jscrollpane-custom-cross-browser-scrollbars/">Kelvin Luck&#8217;s jQuery plugin for modifying the browser&#8217;s scrollbar</a>. So, jScrollPane works great for vertical scrollbars and integrates neatly with WordPress, when calling it like this from the &lt;head&gt; section of your WordPress site:</p>
<pre>var $j = jQuery.noConflict();
$j(function(){
    jQuery('.scroll-pane').jScrollPane({scrollbarWidth:10});
});</pre>
<p>However, the client also wanted the horizontal scrollbars customized&#8230;</p>
<p>It took me several hours to stumble upon the <a href="http://threeformed.com/blog/jscrollhorizontalpane/">modification of Luck&#8217;s plugin by Threeformed</a>, a canadian media company.<br />
But I ran into problems integrating their plugin with WordPress&#8217; noConflict function and had to modify all the calls to &laquo;&nbsp;$&nbsp;&raquo;, into &laquo;&nbsp;jQuery&nbsp;&raquo;. It then worked out, but I needed to be able to design it via CSS independently of the vertical scrollbars. In order to do that I added a second CSS selector, through which I was then able to design the horizontal scrollbars using other background images than for the vertical ones.<br />
One strange thing however is that this plugin expects the element you want to add scrollbars to to be set to &laquo;&nbsp;float:left&nbsp;&raquo;, otherwise it has problems calculating the initial width of the horizontal scrollbars.</p>
<p>You may download my <a href="https://svn.manurevah.com/trac/mule/browser/web/jquery/">modified jQuery plugins here</a>.</p>
<p><span id="more-967"></span></p>
<p>I am calling the plugin the following way :</p>
<pre>var $j = jQuery.noConflict();
var originalSizes = new Array();
$j(function(){
    jQuery('.scroll-horizontal-pane').jScrollHorizontalPane({scrollbarHeight:10});
});</pre>
<p><em>The corresponding CSS could look something like this :</em></p>
<pre>.jScrollPaneContainer {
    position: relative;
    overflow: hidden;
    z-index: 1;
    outline: none;
}
.jScrollPaneTrack {
    position: absolute;
    cursor: pointer;
    right: 0;
    top: 0;
    height: 100%;
    width: 10px;
    background: url(track-vertical.jpg) repeat-y;
}
.jScrollHPaneContainer .jScrollPaneTrack {
    left: 0;
    bottom: 0;
    right: auto;
    top: auto;
    width: 100%;
    height: 10px;
}
.jScrollPaneDrag {
    position: absolute;
    background: url(cap-vertical.jpg) repeat-y;
    cursor: pointer;
    overflow: hidden;
}
.jScrollHPaneContainer .jScrollPaneTrack {
    background: url(track-horizontal.jpg) repeat-x;
}
.jScrollHPaneContainer .jScrollPaneDrag {
    background: url(cap-horizontal.jpg) repeat-x;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://curlybracket.net/2010/02/27/custom-horizontal-and-vertical-scrollbars-at-a-time-with-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

