<?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>Jason Rowe &#187; JavaScript</title>
	<atom:link href="http://jasonrowe.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://jasonrowe.com</link>
	<description>digging into the details</description>
	<lastBuildDate>Thu, 25 Feb 2010 20:02:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Determine if two rectangles overlap each other in JavaScript</title>
		<link>http://jasonrowe.com/2009/03/14/determine-if-two-rectangles-overlap-each-other-in-javascript/</link>
		<comments>http://jasonrowe.com/2009/03/14/determine-if-two-rectangles-overlap-each-other-in-javascript/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 07:13:07 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=338</guid>
		<description><![CDATA[Stack Overflow has a good post on determining if two rectangles are overlapping.  I used the discussed algorithm to check for an overlap and then move one away.  I&#8217;m only moving up or down depending on which rectangle is higher or lower and if it will fit in a specified areas min or max.


&#60;script type=&#34;text/javascript&#34;&#62;

var [...]]]></description>
			<content:encoded><![CDATA[<p>Stack Overflow has a good <a href="http://stackoverflow.com/questions/306316/determine-if-two-rectangles-overlap-each-other">post</a> on determining if two rectangles are overlapping.  I used the discussed algorithm to check for an overlap and then move one away.  I&#8217;m only moving up or down depending on which rectangle is higher or lower and if it will fit in a specified areas min or max.</p>
<pre class="brush: js; ">

&lt;script type=&quot;text/javascript&quot;&gt;

var rectA = {x: 2, y: 5, width: 6, height: 6};
var rectB = {x: 4, y: 10, width: 6, height: 6};
var area = {min: 0, max: 100};

var overlap = rectOverlap(rectA,rectB);
alert(&quot;Does rectA and rectB overlap? &quot; + overlap);

if(overlap)
{
if(rectA.y &gt;= rectB.y)
{
if(increaseY(rectA.width, rectB.y + rectB.height, area.max))
{
rectA.y = rectB.y + rectB.height + 1;
}
else if (rectA.y - rectB.height &gt; area.min)
{
rectB.y = rectA.y - rectB.height;
}
}
else
{
if(increaseY(rectB.width, rectA.y + rectA.height, area.max))
{
rectB.y = rectA.y + rectA.height + 1;
}
else if (rectB.y - rectA.height &gt; area.min)
{
rectA.y = rectB.y - rectA.height;
}
}
}

alert(&quot;Does rectA and rectB overlap? &quot; + rectOverlap(rectA,rectB));

function increaseY(width, bottomEdge, Max)
{
return (bottomEdge + width &lt; Max);
}

function valueInRange(value, min, max)
{

return (value &lt;= max) &amp;&amp; (value &gt;= min);

}

function rectOverlap(A, B)
{
var xOverlap = valueInRange(A.x, B.x, B.x + B.width) ||
valueInRange(B.x, A.x, A.x + A.width);

var yOverlap = valueInRange(A.y, B.y, B.y + B.height) ||
valueInRange(B.y, A.y, A.y + A.height);

return xOverlap &amp;&amp; yOverlap;
}

&lt;/script&gt;
</pre>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2009. |
<a href="http://jasonrowe.com/2009/03/14/determine-if-two-rectangles-overlap-each-other-in-javascript/">Permalink</a> |
<a href="http://jasonrowe.com/2009/03/14/determine-if-two-rectangles-overlap-each-other-in-javascript/#comments">2 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2009/03/14/determine-if-two-rectangles-overlap-each-other-in-javascript/&amp;title=Determine if two rectangles overlap each other in JavaScript">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/03/14/determine-if-two-rectangles-overlap-each-other-in-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SmoothGallery is good stuff</title>
		<link>http://jasonrowe.com/2009/01/18/smoothgallery-is-good-stuff/</link>
		<comments>http://jasonrowe.com/2009/01/18/smoothgallery-is-good-stuff/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 00:51:37 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=331</guid>
		<description><![CDATA[I was recently shown the SmoothGallery javascript picture carousel and I really like.  If you need a simple way to display pictures and do some pretty flashy things quickly this is your best bet. I only ran into a few issue.
1) I had to run my JQuery code in no conflict mode. Which is a [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently shown the<a href="http://smoothgallery.jondesign.net/"> SmoothGallery</a> javascript picture carousel and I really like.  If you need a simple way to display pictures and do some pretty flashy things quickly this is your best bet. I only ran into a few issue.</p>
<p>1) I had to run my JQuery code in no conflict mode. Which is a very simple change.</p>
<pre class="brush: js; ">

var J = jQuery.noConflict();
</pre>
<p>Then replace all your #&#8217;s with J.</p>
<p>2) I had an issue in IE7 where my drop down menu&#8217;s would go behind the SmoothGallery module. It turned out to be a very simple z-index issue and making sure the menu was not absolutely positioned.</p>
<p>Other then those quick things I had a very nice fully functional picture gallery up and running in minutes.  It was also very refreshing to see a library with very simple setup instructions.</p>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2009. |
<a href="http://jasonrowe.com/2009/01/18/smoothgallery-is-good-stuff/">Permalink</a> |
<a href="http://jasonrowe.com/2009/01/18/smoothgallery-is-good-stuff/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2009/01/18/smoothgallery-is-good-stuff/&amp;title=SmoothGallery is good stuff">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2009/01/18/smoothgallery-is-good-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JS Memory Leak Tools &amp; Tips</title>
		<link>http://jasonrowe.com/2008/12/23/js-memory-leak-tools-tips/</link>
		<comments>http://jasonrowe.com/2008/12/23/js-memory-leak-tools-tips/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 22:09:06 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=211</guid>
		<description><![CDATA[Javascript Closure
If you refresh the browser or go to another page and the memory doesn&#8217;t go down you probably have a closure. I just ran into a tricky situation where my closure was being caused during the successful call back of a JQuery Ajax call.
The function that was leaking looked like this:


function &#60;span&#62;GetData&#60;/span&#62;(object) {

var requestObject [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Javascript Closure</strong></p>
<p>If you refresh the browser or go to another page and the memory doesn&#8217;t go down you probably have a closure. I just ran into a tricky situation where my closure was being caused during the successful call back of a JQuery Ajax call.</p>
<p>The function that was leaking looked like this:</p>
<pre class="brush: js; ">

function &lt;span&gt;GetData&lt;/span&gt;(object) {

var requestObject = object.buildRequest()

$.ajax({
type: &quot;POST&quot;,
url: object.url,
dataType: &quot;json&quot;,
data: requestObject,
success: function(jsonResult) {
object.data = jsonResult;
object.DoStuffWithData();
}
});
}
</pre>
<p>The fix was to remove the object from being a local variable.</p>
<pre class="brush: js; ">

function GetData(object) {

var requestObject = object.buildRequest()

$.ajax({
type: &quot;POST&quot;,
url: object.url,
dataType: &quot;json&quot;,
data: requestObject,
success: function(data) {
//On Success Call Data Updater
data.id = object.Id;
DataUpdater(data);
}
});

requestObject = null;
}

function DataUpdater(data) {

//loop through Requesters Array

//must add object to global array before making DataUpdater
for (i = 0; i &lt; Requesters.length; i++) {

var temp = Requesters[i];

var requestId = temp.Id;
var dataId = data.Id;

//Find object with matching id
if (requestId == dataId ) {

temp .data = data;
temp .DoStuffWithData();
}
}

}
</pre>
<p><strong>Drip<br />
While tracking down this memory leak I decided to try out a memory leak tool called <a href="http://www.outofhanwell.com/ieleak/index.php?title=Main_Page">Drip</a>. Unfortunately, It didn&#8217;t work in my situation. Drip actually started causing memory leaks so it made it hard to tell if I actually fixed the problem or not. I think the reason it doesn&#8217;t work is the script is recursive using setInterval.</p>
<p><strong></strong><strong></strong><strong>Other Tools</strong></p>
<p><strong></strong><strong></strong><strong> </strong></p>
<p>Setting up IE and Firefox private bytes counters under process in Perfmon is the most reliable way to monitor JS memory leaks.</p>
<p><strong></strong><strong><a rel="attachment wp-att-313" href="http://rowejason.com/2008/12/23/js-memory-leak-tools-tips/perfmon/"><img class="alignnone size-full wp-image-313" title="perfmon" src="http://rowejason.com/wp-content/uploads/2008/12/perfmon.jpg" alt="perfmon" width="578" height="347" /></a></strong></p>
<p>Another common gotcha is the FireFox web developer plug-in. Turn that off if you are going to do any JS memory leak testing. It&#8217;s probably a good idea to turn off any IE plug-ins too just incase but I haven&#8217;t ran into any problems with theirs yet.</p>
<p>IE also has a tool bar for JS memory leaks but it didn&#8217;t work in my situation very well.</p>
<p>Some good pages for review:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/bb250448.aspx">Understanding and Solving Internet Explorer Leak Patterns</a></li>
<li><a href="http://www.javascriptkit.com/javatutors/closuresleak/index.shtml">JavaScript and memory leaks</a></li>
<li><a href="http://www.codeproject.com/KB/scripting/leakpatterns.aspx">Memory Leakage in Internet Explore</a></li>
<li><a href="http://javascript.crockford.com/memory/leak.html">http://javascript.crockford.com/memory/leak.html</a></li>
</ul>
<p><strong></strong><strong><a href="http://www.codeproject.com/KB/scripting/leakpatterns.aspx"></a></strong></p>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2008. |
<a href="http://jasonrowe.com/2008/12/23/js-memory-leak-tools-tips/">Permalink</a> |
<a href="http://jasonrowe.com/2008/12/23/js-memory-leak-tools-tips/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2008/12/23/js-memory-leak-tools-tips/&amp;title=JS Memory Leak Tools &#038; Tips">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2008/12/23/js-memory-leak-tools-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery taskwidget module</title>
		<link>http://jasonrowe.com/2008/09/07/building-a-taskwidget-with-jquery-php-and-mysql/</link>
		<comments>http://jasonrowe.com/2008/09/07/building-a-taskwidget-with-jquery-php-and-mysql/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 22:40:00 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[taskwidget]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=140</guid>
		<description><![CDATA[I started building a simple taskwidget to try out jquery.  It&#8217;s not much but a simple AJAX application using PHP and mysql on the backend. Here a some of the cool things I learned along the way.
A common gotcha with JavaScript is access to &#8220;this&#8221; inside callbacks and functions.  For example, $.get has a callback [...]]]></description>
			<content:encoded><![CDATA[<p>I started building a simple <a href="http://rowejason.com/taskwidget/">taskwidget</a> to try out <a href="http://jquery.com/">jquery</a>.  It&#8217;s not much but a simple AJAX application using PHP and mysql on the backend. Here a some of the cool things I learned along the way.</p>
<p>A common gotcha with JavaScript is access to &#8220;this&#8221; inside callbacks and functions.  For example, $.get has a callback but inside the callback &#8220;this&#8221; is out of scope.  So if you need to use a function in the object that contains the $.get define a local variable and set the value  equal to &#8220;this&#8221;. Here is a quick example of this scenario. Once you are done with the callback the local instance variable of &#8220;this&#8221; will get cleaned up by garbage collection.</p>
<pre class="brush: js; ">

var foo = this;

$.get(&quot;test.php&quot;, function(data){

//this is out of scope in this callback
alert(&quot;Data Loaded: &quot; + data);

//but foo is now = this

foo.sendDataSomeWhereElse(data)

});
</pre>
<p>On the PHP backend I found a nice <a href="http://www.ricocheting.com/scripts/php_mysql_wrapper.php">mysql wrapper class </a>. It makes it simple to organize MySQL connection and queries.  You can do things like this to connect to your database using a simple config file.</p>
<pre class="brush: php; ">

$db = new Database($config[&#039;server&#039;], $config[&#039;user&#039;], $config[&#039;pass&#039;], $config[&#039;database&#039;], $config[&#039;tablePrefix&#039;]);
</pre>
<p>Then a function would look like this:</p>
<pre class="brush: php; ">

$db-&gt;connect();

$sql = &quot;insert into tmastertask (masterTaskDescription) VALUES (&#039;&quot; . $values[0] . &quot;&#039;);&quot;;

$db-&gt;query($sql);

$jsonInsertArray[] = &quot;success&quot;;
$jsonResultArray[&quot;InsertResult&quot;]=$jsonInsertArray;
echo json_encode($jsonResultArray);

$db-&gt;close();
</pre>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2008. |
<a href="http://jasonrowe.com/2008/09/07/building-a-taskwidget-with-jquery-php-and-mysql/">Permalink</a> |
<a href="http://jasonrowe.com/2008/09/07/building-a-taskwidget-with-jquery-php-and-mysql/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2008/09/07/building-a-taskwidget-with-jquery-php-and-mysql/&amp;title=jquery taskwidget module">del.icio.us</a>
<br/>
Post tags: <a href="http://jasonrowe.com/tag/jquery/" rel="tag">JQuery</a>, <a href="http://jasonrowe.com/tag/mysql/" rel="tag">MySql</a>, <a href="http://jasonrowe.com/tag/php/" rel="tag">PHP</a>, <a href="http://jasonrowe.com/tag/taskwidget/" rel="tag">taskwidget</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2008/09/07/building-a-taskwidget-with-jquery-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>yui number sorting issue</title>
		<link>http://jasonrowe.com/2008/01/17/yui-number-sorting-issue/</link>
		<comments>http://jasonrowe.com/2008/01/17/yui-number-sorting-issue/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 07:05:31 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://rowejason.com/2008/01/17/yui-number-sorting-issue/</guid>
		<description><![CDATA[So if you are using the YUI DataTable with XHR and numbers you might have noticed the sort is not working correctly. Below is a quick explination and a work around.
&#8220;DataTable currently sorts strings, numbers, and dates, but only when the values are already those types in JavaScript. In contrast, if you get values over [...]]]></description>
			<content:encoded><![CDATA[<p>So if you are using the YUI DataTable with XHR and numbers you might have noticed the sort is not working correctly. Below is a quick explination and a work around.</p>
<blockquote><p>&#8220;DataTable currently sorts strings, numbers, and dates, but <em>only when the values are already those types in JavaScript</em>. In contrast, if you get values over the wire (<abbr title="XMLHttpRequest">XHR</abbr>), DataTable will treat all values as strings in those cases. As a workaround, you could implement a custom sort function to do the data type conversion. Data parsed from markup will be typed correctly, and so we’re a part of the way there; before we get out of beta we plan to provide a mechanism so a value can be treated as a specific type regardless of its origin. I can tell you that in the next release (coming soon) we’ll have a hook for you to do your own conversion of data coming over <abbr title="XMLHttpRequest">XHR</abbr>, and in the subsequent release it will do a lot of conversions for you out of the box and also provide a mechanism for you to do more sophisticated custom conversions.&#8221;</p></blockquote>
<p>Here is the custom sort function I created to fix the issue. It still doesn&#8217;t work well if you have multipage result lists because the string has to go through the function before it becomes an integer. It works well for small lists or where all the results appear right away.</p>
<p>In the snippet below<strong>, &#8220;u&#8221;</strong> would be the variable you  want to get sorting correctly in the data grid results. If you are not familiar with using custom sort functions take a look at the yui data grid docs. It&#8217;s very easy.<br />
<pre><pre>
[code lang=&quot;javascript&quot;] 

var myFormatStringFix = 

function(elCell, oRecord, oColumn, oData) 

{ 

oRecord._oData.u = parseInt(oRecord._oData.u); 

elCell.innerHTML = oRecord._oData.u; 

} 

[/code]</pre></pre></p>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2008. |
<a href="http://jasonrowe.com/2008/01/17/yui-number-sorting-issue/">Permalink</a> |
<a href="http://jasonrowe.com/2008/01/17/yui-number-sorting-issue/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2008/01/17/yui-number-sorting-issue/&amp;title=yui number sorting issue">del.icio.us</a>
<br/>
Post tags: <a href="http://jasonrowe.com/tag/yui/" rel="tag">YUI</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2008/01/17/yui-number-sorting-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>my latest yui php mysql project</title>
		<link>http://jasonrowe.com/2007/10/03/my-latest-yui-php-mysql-project/</link>
		<comments>http://jasonrowe.com/2007/10/03/my-latest-yui-php-mysql-project/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 19:07:00 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=99</guid>
		<description><![CDATA[I setup a quick demo page showing how to use a combination of many things I have wrote about on my blog. Take a look if you want to see how easily you can do some cool things with YUI (update &#8211; and jquery).
http://jasonrowe.com/search
update 5/08/09 - I change some of the javascript from yui to jquery. I [...]]]></description>
			<content:encoded><![CDATA[<p>I setup a quick demo page showing how to use a combination of many things I have wrote about on my blog. Take a look if you want to see how easily you can do some cool things with YUI (update &#8211; and jquery).<br />
<a href="http://jasonrowe.com/search">http://jasonrowe.com/search</a></p>
<p>update 5/08/09 - I change some of the javascript from yui to jquery. I converted the old YUI carousel to Jcarousel.(<a href="http://sorgalla.com/projects/jcarousel/">http://sorgalla.com/projects/jcarousel/</a>)</p>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2007. |
<a href="http://jasonrowe.com/2007/10/03/my-latest-yui-php-mysql-project/">Permalink</a> |
<a href="http://jasonrowe.com/2007/10/03/my-latest-yui-php-mysql-project/#comments">3 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2007/10/03/my-latest-yui-php-mysql-project/&amp;title=my latest yui php mysql project">del.icio.us</a>
<br/>
Post tags: <a href="http://jasonrowe.com/tag/jquery/" rel="tag">JQuery</a>, <a href="http://jasonrowe.com/tag/mysql/" rel="tag">MySql</a>, <a href="http://jasonrowe.com/tag/php/" rel="tag">PHP</a>, <a href="http://jasonrowe.com/tag/yui/" rel="tag">YUI</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2007/10/03/my-latest-yui-php-mysql-project/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Carousel Control CD Collection</title>
		<link>http://jasonrowe.com/2007/07/18/carousel-control-cd-collection/</link>
		<comments>http://jasonrowe.com/2007/07/18/carousel-control-cd-collection/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 05:29:00 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=96</guid>
		<description><![CDATA[ I wanted to find an easy way to display a CD collection using javascript instead of flash. While looking around I found a YUI extension called carousel. Here is my small static example of a CD collection.
Bill Scott actually doesn&#8217;t support this anymore and the YUI team has taken this on. The new version [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rowejason.com/search"><img style="float: left; margin: 0px 10px 10px 0px; cursor: hand" src="http://www.rowejason.com/uploaded_images/carousel_example-779114.JPG" border="0" alt="snapshot of carousel" /></a> I wanted to find an easy way to display a CD collection using javascript instead of flash. While looking around I found a YUI extension called carousel. Here is my small static example of a CD collection.</p>
<p>Bill Scott actually doesn&#8217;t support this anymore and the YUI team has taken this on. The new version is very clean and I did try it out. I converted my carousel to the new YUI version but later decided to go with a JQuery extention called jCarousel. They both worked but I think I am going to move in the Jquery direction for awhile.<br />
<a href="http://jasonrowe.com/search"> http://jasonrowe.com/search</a></p>
<p>References:<br />
<a href="http://billwscott.com/carousel/">http://billwscott.com/carousel/</a></p>
<p><a href="http://sorgalla.com/projects/jcarousel/">http://sorgalla.com/projects/jcarousel/</a></p>
<p><a href="http://developer.yahoo.com/yui/carousel/">http://developer.yahoo.com/yui/carousel/</a></p>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2007. |
<a href="http://jasonrowe.com/2007/07/18/carousel-control-cd-collection/">Permalink</a> |
<a href="http://jasonrowe.com/2007/07/18/carousel-control-cd-collection/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2007/07/18/carousel-control-cd-collection/&amp;title=Carousel Control CD Collection">del.icio.us</a>
<br/>
Post tags: <a href="http://jasonrowe.com/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://jasonrowe.com/tag/yui/" rel="tag">YUI</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2007/07/18/carousel-control-cd-collection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript: Create Advanced Web Applications With Object-Oriented Techniques</title>
		<link>http://jasonrowe.com/2007/05/07/javascript-create-advanced-web-applications-with-object-oriented-techniques/</link>
		<comments>http://jasonrowe.com/2007/05/07/javascript-create-advanced-web-applications-with-object-oriented-techniques/#comments</comments>
		<pubDate>Mon, 07 May 2007 15:47:00 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=83</guid>
		<description><![CDATA[I just started working with OOP in javascript and found this article very informative. The section on prototypes was very helpful as I have been digging around in the YUI library lately and found that area confusing. JavaScript: Create Advanced Web Applications With Object-Oriented Techniques
The article has lots of examples if you click on the [...]]]></description>
			<content:encoded><![CDATA[<p>I just started working with OOP in javascript and found this article very informative. The section on prototypes was very helpful as I have been digging around in the YUI library lately and found that area confusing. <a href="http://msdn.microsoft.com/msdnmag/issues/07/05/javascript/default.aspx">JavaScript: Create Advanced Web Applications With Object-Oriented Techniques</a></p>
<p>The article has lots of examples if you click on the figure links. Here was a useful one on Inheriting from a Prototype:</p>
<p><pre><code>
Inheriting from a Prototypefunction GreatDane() { }
var rover = new GreatDane();
var spot = new GreatDane();
GreatDane.prototype.getBreed = function() {
return “Great Dane”;
};</code></pre><pre><code>// Works, even though at this point
// rover and spot are already created.
alert(rover.getBreed());
// this hides getBreed() in GreatDane.prototype
spot.getBreed = function() {
return “Little Great Dane”;
};
alert(spot.getBreed());
// but of course, the change to getBreed
// doesn’t propagate back to GreatDane.prototype
// and other objects inheriting from it,
// it only happens in the spot object
alert(rover.getBreed());

</code></pre></p>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2007. |
<a href="http://jasonrowe.com/2007/05/07/javascript-create-advanced-web-applications-with-object-oriented-techniques/">Permalink</a> |
<a href="http://jasonrowe.com/2007/05/07/javascript-create-advanced-web-applications-with-object-oriented-techniques/#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2007/05/07/javascript-create-advanced-web-applications-with-object-oriented-techniques/&amp;title=JavaScript: Create Advanced Web Applications With Object-Oriented Techniques">del.icio.us</a>
<br/>
Post tags: <a href="http://jasonrowe.com/tag/javascript/" rel="tag">JavaScript</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2007/05/07/javascript-create-advanced-web-applications-with-object-oriented-techniques/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mouse Events onmouseout issue event bubbling</title>
		<link>http://jasonrowe.com/2007/01/12/mouse-events-onmouseout-issue-event-bubbling/</link>
		<comments>http://jasonrowe.com/2007/01/12/mouse-events-onmouseout-issue-event-bubbling/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 23:23:00 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rowejason.com/?p=68</guid>
		<description><![CDATA[Quick JavaScript example to handle the onmouseout event to prevent event bubbling in IE.

if(window.addEventListener)
{
// Mozilla, Netscape, Firefox
object.addEventListener(&#8216;mouseover&#8217;,function() {this.className = &#8220;objectVisible&#8221;;false)
object.addEventListener(&#8216;mouseout&#8217;,function() {this.className = &#8220;objectNotVisible&#8221;;return true;}, false)} 
else { // IE
object.onmouseenter = function() {this.className = &#8220;objectVisible&#8221;;return false;};
object.onmouseleave = function() {this.className = &#8220;objectNotVisible&#8221;;return false;}; 
}


&#169; admin for Jason Rowe, 2007. &#124;
Permalink &#124;
No comment &#124;
Add to
del.icio.us

Post tags: JavaScript

Feed enhanced [...]]]></description>
			<content:encoded><![CDATA[<p>Quick JavaScript example to handle the onmouseout event to prevent event bubbling in IE.<br />
<blockquote>
<p>if(window.addEventListener)</p>
<p>{</p>
<p>// Mozilla, Netscape, Firefox</p>
<p>object.addEventListener(&#8216;mouseover&#8217;,function() {this.className = &#8220;objectVisible&#8221;;false)</p>
<p>object.addEventListener(&#8216;mouseout&#8217;,function() {this.className = &#8220;objectNotVisible&#8221;;return true;}, false)} </p>
<p>else { // IE</p>
<p>object.onmouseenter = function() {this.className = &#8220;objectVisible&#8221;;return false;};</p>
<p>object.onmouseleave = function() {this.className = &#8220;objectNotVisible&#8221;;return false;}; </p>
<p>}</p>
</blockquote>
<hr />
<p><small>&copy; admin for <a href="http://jasonrowe.com">Jason Rowe</a>, 2007. |
<a href="http://jasonrowe.com/2007/01/12/mouse-events-onmouseout-issue-event-bubbling/">Permalink</a> |
<a href="http://jasonrowe.com/2007/01/12/mouse-events-onmouseout-issue-event-bubbling/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://jasonrowe.com/2007/01/12/mouse-events-onmouseout-issue-event-bubbling/&amp;title=Mouse Events onmouseout issue event bubbling">del.icio.us</a>
<br/>
Post tags: <a href="http://jasonrowe.com/tag/javascript/" rel="tag">JavaScript</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://jasonrowe.com/2007/01/12/mouse-events-onmouseout-issue-event-bubbling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
