<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Dynamic Drive Forums - Blogs</title>
		<link>http://www.dynamicdrive.com/forums/blog.php</link>
		<description>Dynamic Drive help forum</description>
		<language>en</language>
		<lastBuildDate>Fri, 10 Feb 2012 17:31:41 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>10</ttl>
		<image>
			<url>http://www.dynamicdrive.com/forums/images/misc/rss.jpg</url>
			<title>Dynamic Drive Forums - Blogs</title>
			<link>http://www.dynamicdrive.com/forums/blog.php</link>
		</image>
		<item>
			<title>Replacing iframe attributes with javascript (HTML5)</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=252</link>
			<pubDate>Wed, 11 Jan 2012 20:12:00 GMT</pubDate>
			<description><![CDATA[I was working the other day on a script for setting the height of an iframe to match the height of its content and noticed that under certain circumstances the iframe gets its scroll bars 'back' when it shouldn't. This happens mainly when the iframe is given a very small width. Overflow: hidden...]]></description>
			<content:encoded><![CDATA[<div>I was working the other day on a script for setting the height of an iframe to match the height of its content and noticed that under certain circumstances the iframe gets its scroll bars 'back' when it shouldn't. This happens mainly when the iframe is given a very small width. <i>Overflow: hidden</i> solves the problem in Firefox (most of the time), but not in IE. This browsers needs <i>scrolling=&quot;no&quot;</i>, which also works in non-IE. However, attributes like <i>scrolling=&quot;no&quot;</i> and <i>frameborder=&quot;no&quot;</i>, among others, are not valid in HTML5.<br />
Searching the Internet for a solution, I found this script by jscheuer1 (<a href="http://www.dynamicdrive.com/forums/showthread.php?t=60454&amp;page=2):" target="_blank">http://www.dynamicdrive.com/forums/s...60454&amp;page=2):</a><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 258px;
		text-align: left;
		overflow: auto">&lt;script defer&gt;
(function(run){
	var f1 = document.getElementsByTagName('iframe')[0];
	if(!f1 &amp;&amp; window.addEventListener &amp;&amp; !run){
		document.addEventListener('DOMContentLoaded', arguments.callee, false);
		return;
	}
	if(!f1){setTimeout(arguments.callee, 300); return;}
	f2 = f1.cloneNode(false);
	f1.src = 'about<b></b>:blank';
	f2.frameBorder = '0';
	f2.scrolling = 'no';
	f1.parentNode.replaceChild(f2, f1);
})();
&lt;/script&gt;</pre>
</div>If you put this on a page containing one iframe, the scroll bars and frameborder are gone in both IE and non-IE.<br />
But what about pages containing more than one iframe? I tested the following and observed that it works for all the iframes on a page:<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 322px;
		text-align: left;
		overflow: auto">&lt;script defer&gt;
(function(run){
for (i=0;i&lt;frames.length; i++) {
	var f1 = document.getElementsByTagName('iframe')[i];
	if(!f1 &amp;&amp; window.addEventListener &amp;&amp; !run){
		document.addEventListener('DOMContentLoaded', arguments.callee, false);
		return;
	}
	if(!f1){setTimeout(arguments.callee, 300); return;}
	f2 = f1.cloneNode(false);
	f1.src = 'about<b></b>: blank';
	f2.frameBorder = '0';
	f2.allowTransparency = 'yes';
	f2.scrolling = 'yes';

	f1.parentNode.replaceChild(f2, f1);
}
})();
&lt;/script&gt;</pre>
</div>Many thanks to John Scheuer, who showed how to replace iframe attributes with javascript. <br />
Important: in HTML5, scripts having 'defer' must be external in order to validate.<br />
===<br />
Arie</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=252</guid>
		</item>
		<item>
			<title>Select boxes having javascript in the options</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=251</link>
			<pubDate>Wed, 30 Nov 2011 23:28:33 GMT</pubDate>
			<description><![CDATA[In non-IE *except Google Chrome*, we can call functions from inside a select box by putting things like the following in the options: 
<option value="bla" onclick="some_function()"></option> 
<option value="bla" onclick="window.open('http://www.google.com')"></option> 
etc. 
 
This is not possible...]]></description>
			<content:encoded><![CDATA[<div>In non-IE <b>except Google Chrome</b>, we can call functions from inside a select box by putting things like the following in the options:<br />
&lt;option value=&quot;bla&quot; <font color="Red">onclick=&quot;some_function()&quot;</font>&gt;&lt;/option&gt;<br />
&lt;option value=&quot;bla&quot; <font color="Red">onclick=&quot;window.open('http://www.google.com')&quot;</font>&gt;&lt;/option&gt;<br />
etc.<br />
<br />
This is not possible in IE and Google Chrome. In an earlier attempt to solve the problem, I created a script based on the idea that it should be possible to let the text of the values for the options determine what function (whether custom or inbuilt) should be called (see <a href="http://www.dynamicdrive.com/forums/showthread.php?t=60905" target="_blank">this</a>). So I wanted things like the following to work:<br />
&lt;option <font color="Red">value=&quot;some_function()&quot;</font> &gt;&lt;/option&gt;<br />
&lt;option <font color="Red">value=&quot;window.open('http://www.google.com')&quot; </font>&gt;&lt;/option&gt;<br />
etc.<br />
<br />
Here's the script:<br />
&lt;script type=&quot;text/javascript&quot;&gt;<br />
//This script enables execution of scripts by putting them in the options of selectboxes (if the text of a given option corresponds with the contents of a given script, then the script is executed when the option is clicked on).<br />
function load_script_container()<br />
{var div_node=document.createElement('div');<br />
div_node.setAttribute(&quot;id&quot;, &quot;script_container&quot;);<br />
document.body.appendChild(div_node);}<br />
window.onload=load_script_container<br />
<br />
function <font color="Red">javascript_in_selectbox</font>(which_box) {<br />
var optionValue=document.getElementById(which_box).options[document.getElementById(which_box).selectedIndex].value;<br />
if (optionValue==&quot;none&quot;) {}<br />
else {<br />
var script_inside_selectbox_option = document.createElement('script');<br />
script_inside_selectbox_option.type = 'text/javascript';<br />
script_inside_selectbox_option.text = optionValue;<br />
while(document.getElementById(&quot;<font color="Red">script_container</font>&quot;).firstChild)<br />
{document.getElementById(&quot;<font color="Red">script_container</font>&quot;).removeChild(document.getElementById(&quot;<font color="Red">script_container</font>&quot;).firstChild);}<br />
document.getElementById(&quot;<font color="Red">script_container</font>&quot;).appendChild(script_inside_selectbox_option);<br />
}<br />
}<br />
&lt;/script&gt;<br />
<br />
It should work in cases like the following:<br />
&lt;select name=&quot;<font color="SeaGreen">some_selectbox</font>&quot; id=&quot;<font color="SeaGreen">some_selectbox</font>&quot; onchange=&quot;<font color="Red">javascript_in_selectbox</font>('<font color="SeaGreen">some_selectbox</font>'); selectedIndex=0&quot;&gt;<br />
&lt;option value=&quot;none&quot; selected &gt;Some selectbox&lt;/option&gt;<br />
&lt;option value=&quot;window.open('http://www.google.com')&quot; &gt;Load Google in new window&lt;/option&gt;<br />
&lt;option value=&quot;location.href='http://www.dynamicdrive.com'&quot; &gt;Go to DynamicDrive in same window&lt;/option&gt;<br />
&lt;option value=&quot;alert('This is an alert')&quot; &gt;An alert&lt;/option&gt;<br />
&lt;option value=&quot;document.body.style.background='white'&quot;&gt;Make background white&lt;/option&gt;<br />
&lt;option value=&quot;background_blue()&quot;&gt;Make background blue&lt;/option&gt;<br />
&lt;/select&gt;<br />
&lt;!-- (Of course, the value given to the last option implies the existence on the page of a function called 'background_blue()'). --&gt;<br />
<br />
Unfortunately, after a while I discovered that the last versions of certain modern browsers exhibit the following behavior <i>pertaining to loading new pages in the 'same window'</i>:<br />
<b>Opera</b>:<br />
Although <i>&lt;option value=&quot;location.href=...&quot;&gt;go to some page in same window&lt;/option&gt;</i> correctly executes the function given by the text of the value for the option, it makes the browser's history button do weird things.<br />
<b>Google Chrome</b>:<br />
<i>&lt;option value=&quot;location.href=...&quot;&gt;go to some page in same window&lt;/option&gt;</i> doesn't always execute, or the new page loads very slowly.<br />
<b>Firefox</b>:<br />
Although <i>&lt;option value=&quot;location.href=...&quot;&gt;go to some page in same window&lt;/option&gt;</i> correctly executes the function given by the text of the value for the option, it COMPLETELY DESTROYS the browser's history button. This is very strange, since this does not happen when <i>loction.href=...</i> is applied to other tags (other than the option-tag) like 'a', 'div' and 'span'.<br />
<br />
THE SOLUTION:<br />
I tried several second-versions of the original script. None of them worked. I then realized that, bearing in mind what has been explained above, the following should always work for cases in which we want to go to a new page in the same window:<br />
<i>&lt;option <b>value=&quot;if(!window.opera)location.href='...';&quot; onclick=&quot;location.href='...'&quot;</b>&gt;go to some page in same window&lt;/option&gt;</i><br />
And it does! So now we have a crossbrowser way to use the options of a selectbox to execute all sorts of functions, including those that open new pages in the 'same window'. <br />
<br />
DEMO <a href="http://mesdomaines.nu/selectbox_having_javascript_in_options_new/selectbox_having_javascript_in_options.html" target="_blank">here</a>.<br />
<br />
Arie Molendijk.</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=251</guid>
		</item>
		<item>
			<title>Deferred document.write</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=250</link>
			<pubDate>Mon, 31 Oct 2011 12:13:09 GMT</pubDate>
			<description>While surfing on the Internet I found this page (http://www.cryer.co.uk/resources/javascript/script8.htm) on how to pass data from one page to another. After a while, I realized that the script used on the page actually contains a technique (implicitly) for deferring document.write. Just for the...</description>
			<content:encoded><![CDATA[<div>While surfing on the Internet I found <a href="http://www.cryer.co.uk/resources/javascript/script8.htm" target="_blank">this page</a> on how to pass data from one page to another. After a while, I realized that the script used on the page actually contains a technique (implicitly) for deferring document.write. Just for the fun of it, I modified the script so as to have some easy ways of dynamically inserting internal and external content into a given div via document.write. Here it is:<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 498px;
		text-align: left;
		overflow: auto">&lt;script type=&quot;text/javascript&quot;&gt;
function HttpRequest(url){
var pageRequest = false //variable to hold ajax object
/*@cc_on
@if (@_jscript_version &gt;= 5)
try {
pageRequest = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;)
}
catch (e){
try {
pageRequest = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;)
}
catch (e2){
pageRequest = false
}
}
@end
@*/

if (!pageRequest &amp;&amp; typeof XMLHttpRequest != 'undefined')
pageRequest = new XMLHttpRequest()

if (pageRequest){ //if pageRequest is not false
pageRequest.open('GET', url, false) //get page synchronously
pageRequest.send(null)

external_data=pageRequest.responseText
}
}

document.write('&lt;iframe name=&quot;ifr&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position: absolute; border:0px; width:0px; height:0px&quot;&gt;&lt;\/iframe&gt;')
function GetParam(name) //Thanks to http://www.cryer.co.uk/resources/javascript/script8.htm for this function
{
var start=location.search.indexOf(&quot;?&quot;+name+&quot;=&quot;);
if (start&lt;0) start=location.search.indexOf(&quot;&amp;&quot;+name+&quot;=&quot;);
if (start&lt;0) return '';
start += name.length+2;
var end=location.search.indexOf(&quot;&amp;&quot;,start)-1;
if (end&lt;0) end=location.search.length;
var result='';
for(var i=start;i&lt;=end;i++)
{
var c=location.search.charAt(i);
result=result+(c=='+'?' ':c);
}
return unescape(result);
}
var paramCount=1; var index=location.search.indexOf('@'); while (index&gt;0)
{
paramCount++;
index=location.search.indexOf('@',++index);
}
if (location.search!='')
{
function docwrite_to_div(which)
{
document.write(GetParam(which))
}
}
function include_using_iframe(where,what)
{
location.replace('?'+where+'='+escape(frames['ifr'].document.documentElement.innerHTML))
}
function include_not_using_iframe(where,what)
{
location.replace('?'+where+'='+escape(what))
}
function load_data(url)
{
frames['ifr'].location.replace(url)
}
&lt;/script&gt;</pre>
</div><b>Usage in non-IE</b>:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 194px;
		text-align: left;
		overflow: auto">&lt;!--Document.writing a string, for instance: some data, to a div having id=&quot;div1&quot;. The string must be surrounded by appropriate quotation marks. To verify that this really is document.write (not innerHTML), modify the string by putting some javascript in it. You'll see that the javascript works on the page.--&gt;
&lt;a href=&quot;javascript<b></b>: void(0)&quot; onclick=&quot;include_not_using_iframe('div1','some data')&quot;&gt;include inner data&lt;/a&gt;
&lt;div id=&quot;div1&quot; style=&quot;background: silver; width: 200px&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;docwrite_to_div('div1')&lt;/script&gt;&lt;/div&gt;

&lt;!--Document.writing an external file, for instance: <a href="http://www.dynamicdrive.com/dynamicindex1/flexdropdown.htm" target="_blank">flexmenu.html</a> (a menu offered by DynamicDrive), to a div having id=&quot;div2&quot;. Inclusion is done via Ajax. The functions in the external file are automatically transferred to the main page during inclusion, which proves that this really is document.write (not innerHTML). The placeholder for the request-string is external_data, which must not be surrounded by quotation marks (of course). We can repeatedly click on the link to include the file without losing the exernal function(s). Or we can put the external file in different divs by repeating the lines below on the page while changing the id of the div. --&gt;
&lt;a href=&quot;javascript<b></b>: void(0)&quot; onmousedown=&quot;HttpRequest('flexmenu.html')&quot; onmouseup=&quot;include_not_using_iframe('div2', external_data)&quot;&gt;include via ajax&lt;/a&gt;
&lt;div id=&quot;div2&quot; style=&quot;background: silver; width: 200px&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;docwrite_to_div('div2')&lt;/script&gt;&lt;/div&gt;

&lt;!--Document.writing an external file, for instance: <a href="http://www.dynamicdrive.com/dynamicindex1/flexdropdown.htm" target="_blank">flexmenu.html</a>, to a div having id=&quot;div3&quot;. Inclusion is done via a hidden iframe. The functions in the external file are automatically transferred to the main page during inclusion, which proves that this really is document.write (not innerHTML). We can repeatedly click on the link to include the file without losing the exernal function(s). Or we can put the external file in different divs by repeating the lines below on the page while changing the id of the div. --&gt;
&lt;a href=&quot;javascript<b></b>: void(0)&quot; onmousedown=&quot;load_data('flexmenu.html')&quot; onmouseup=&quot;include_using_iframe('div3')&quot;&gt;include via iframe&lt;/a&gt;
&lt;div id=&quot;div3&quot; style=&quot;background: yellow; width:400px&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;docwrite_to_div('div3')&lt;/script&gt;&lt;/div&gt;</pre>
</div><b>Usage in IE / Google Chrome</b>:<br />
Same as above, but if we have scripts in the external page(s), IE will rewrite the pages to something we cannot use (safety measure). We can solve the problem in a cross-browser way by moving the scripts written down in the head of the external page(s) to the head of the main page. If the external page(s) also have scripts in the body, there may be a problem as to where to put them in the main page. Note also that, except for document.writing strings given in the main page itself, this will not (always) work locally (on your hard disk) when you're using IE or Google Chrome. But there's no problem on the Internet.<br />
<br />
<b>Address bar</b>:<br />
This method for including content may produce very long lines in the address bar.<br />
<br />
<b>Removing the data</b>:<br />
We can remove included data by doing something like:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 50px;
		text-align: left;
		overflow: auto">&lt;a href=&quot;javascript<b></b>: void(0)&quot; onclick=&quot;include_not_using_iframe('remove','')&quot;&gt;Remove data&lt;/a&gt;
&lt;div id=&quot;remove&quot; style=&quot;background: silver; width: 200px&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;docwrite_to_div('remove')&lt;/script&gt;&lt;/div&gt;</pre>
</div><b>What do we actually update</b>?<br />
If we use the technique described on this page, we don't update parts of the page but the whole page, to which content is added via the scripts and HTML above. That probably explains why adding content to a div is a little bit slow (especially in IE). But the advantage of the technique is that any external file can be repearedly added to the page. That's not always the case if we use other methods for including content. The <a href="http://www.dynamicdrive.com/dynamicindex1/flexdropdown.htm" target="_blank">flexmenu</a>, for instance, cannot repeatedly be included on the page <b>with preservation of code</b>, or even included once via a simple onclick, unless we change the flexmenu-script in a specific way, see <a href="http://www.dynamicdrive.com/forums/showthread.php?t=55727&amp;page=3" target="_blank">this thread</a>. <br />
===<br />
<font color="Red">DEMO <a href="http://mesdomaines.nu//include_deferred_document_write/include_deferred_document_write.html" target="_blank">here</a>.</font><br />
<br />
<font color="Red"><b>EDIT:<br />
W'd better replace the occurrences of <i>href=...</i> above with something like <i>style=&quot;cursor: pointer; text-decoration: underline&quot;</i> because using href mistakenly creates a new page in Firefox if used online. </b></font><br />
===<br />
Arie Molendijk</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=250</guid>
		</item>
		<item>
			<title>A better Iframe Shim</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=249</link>
			<pubDate>Sun, 02 Oct 2011 22:47:32 GMT</pubDate>
			<description><![CDATA[The 'iframe shim technique' lets us overlay a div over windowed elements such as flash objects, select boxes and applets. The trick is to have the div accompanied by an iframe that must have exactly the same size and position as the div, whose z-index must be higher than the iframe's z-index. The...]]></description>
			<content:encoded><![CDATA[<div>The 'iframe shim technique' lets us overlay a div over windowed elements such as flash objects, select boxes and applets. The trick is to have the div accompanied by an iframe that must have exactly the same size and position as the div, whose z-index must be higher than the iframe's z-index. The windowed element itself must have a lower z-index and <b>the iframe should have a background-color</b>. Here's an example of how to have a div overlay a flash object:<br />
<br />
<code style="background-color: #FFFFBB">&lt;iframe style=&quot;position: absolute; left: 40px; top:50px; width:100px; height:40px;z-index:2; background: white&quot;&gt;&lt;/iframe&gt;<br />
&lt;div style=&quot;position: absolute; left: 40px; top:50px; width:100px; height:40px;color:red;z-index:3;&quot;&gt;iframe shim&lt;/div&gt;<br />
&lt;object style=&quot;position: absolute; left: 10px; top:40px; width: 400px; height: 400px; z-index:1&quot; type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.youtube.com/v/jUvcyyU7UB4?version=3&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/jUvcyyU7UB4?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;window&quot;&gt;&lt;param name=&quot;flashvars&quot; value=&quot;autoplay=1&quot;&gt;&lt;param name=&quot;allowNetworking&quot; value=&quot;internal&quot;&gt;&lt;/object&gt;</code><br />
<br />
This is fairly common knowledge (except for the iframe's background-color, so it seems). What many people don't realize is that the trick doesn't work anymore in IE after we click on the flash object playing a video (and it may fail in other cases too). After the click, the div is gone. Try for yourself (in IE).<br />
<br />
There's an easy way to solve the problem. We put the following dummy div in the body:<br />
<code style="background-color: #FFFFBB">&lt;div id=&quot;dummy&quot; style=&quot;position:absolute; &quot; onblur=&quot;if (/*@cc_on!@*/false){this.style.top='-1px'};&quot; onfocus=&quot;if (/*@cc_on!@*/false){this.style.top='-2px'};&quot;&gt;&lt;/div&gt;</code><br />
<br />
and the body tag should look like this:<br />
<code style="background-color: #FFFFBB">&lt;body onmousemove=&quot;if(/*@cc_on!@*/false){document.getElementById('dummy').focus()}&quot; onload=&quot;if (/*@cc_on!@*/false){document.getElementById('dummy').focus()}&quot;&gt;</code><br />
<br />
Try it in any browser you want: it seems to work everywhere. <br />
===<br />
Arie Molendijk.</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=249</guid>
		</item>
		<item>
			<title>Extra Buttons for Ultimate Fade-in slideshow</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=248</link>
			<pubDate>Tue, 30 Aug 2011 20:52:50 GMT</pubDate>
			<description>The product of many requests as regards Ultimate Fade-in slide show (http://www.dynamicdrive.com/dynamicindex14/fadeinslideshow.htm) (currently at v2.4, but should work for any Ultimate Fade-in slideshow in the 2.x series) for a button to do this or that, stop or go, pause/play, and individual...</description>
			<content:encoded><![CDATA[<div>The product of many requests as regards <a href="http://www.dynamicdrive.com/dynamicindex14/fadeinslideshow.htm" target="_blank">Ultimate Fade-in slide show</a> (currently at v2.4, but should work for any Ultimate Fade-in slideshow in the 2.x series) for a button to do this or that, stop or go, pause/play, and individual numbered or thumbnail buttons with or without special effects, with onclick or onmouseover for these individual buttons. This script (right click and 'save as'):<br />
<br />
<a href="http://home.comcast.net/~jscheuer1/side/inmotion/js/extrabuttons.js" target="_blank">extrabuttons.js</a><br />
<br />
can do any or virtually all (some things you wouldn't want to combine in one slideshow) of these things. In fact, I combined more than anyone would probably want for the second demo:<br />
<br />
<a href="http://home.comcast.net/~jscheuer1/side/inmotion/garden.htm" target="_blank">Demo_1</a> - garden<br />
<br />
<a href="http://home.comcast.net/~jscheuer1/side/inmotion/button_ctrl_auto.htm" target="_blank">Demo_2</a> - enhanced default show from script's demo page<br />
<br />
To set it up on your page, download the extrabuttons.js script (see above), and add it's tag (highlighted) between fadeslideshow.js and the on page portion of the script (from the second demo):<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 498px;
		text-align: left;
		overflow: auto">&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;fadeslideshow.js&quot;&gt;
/***********************************************
* Ultimate Fade In Slideshow v2.0- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more
***********************************************/
&lt;/script&gt;
<code style="background-color: #FFFFBB">&lt;script type=&quot;text/javascript&quot; src=&quot;extrabuttons.js&quot;&gt;
// Extra Buttons Script (c)2011 John Davenport Scheuer
// as first seen in http://www.dynamicdrive.com/forums/
// add on for Ultimate Fade In Slideshow
// username: jscheuer1 - This Notice Must Remain for Legal Use
&lt;/script&gt;</code>
&lt;script type=&quot;text/javascript&quot;&gt;
var mygallery=new fadeSlideShow({
	wrapperid: &quot;fadeshow1&quot;, //ID of blank DIV on page to house Slideshow
	dimensions: [250, 180], //width/height of gallery in pixels. Should reflect dimensions of largest image
	imagearray: [
		[&quot;http://i26.tinypic.com/11l7ls0.jpg&quot;, &quot;&quot;, &quot;&quot;, &quot;Nothing beats relaxing next to the pool when the weather is hot.&quot;],
		[&quot;http://i29.tinypic.com/xp3hns.jpg&quot;, &quot;http://en.wikipedia.org/wiki/Cave&quot;, &quot;_new&quot;, &quot;Some day I'd like to explore these caves!&quot;],
		[&quot;http://i30.tinypic.com/531q3n.jpg&quot;],
		[&quot;http://i31.tinypic.com/119w28m.jpg&quot;, &quot;&quot;, &quot;&quot;, &quot;What a beautiful scene with everything changing colors.&quot;] //&lt;--no trailing comma after very last image element!
	],
	displaymode: {type:'manual', pause:2500, cycles:0, wraparound:true},
	persist: false, //remember last viewed slide and recall within same session?
	fadeduration: 500, //transition duration (milliseconds)
	descreveal: &quot;ondemand&quot;,
<code style="background-color: #FFFFBB">	<b>extrabuttons</b>: {pause: 6000, pauseplay: true, pend: '.bob', nextprevresume: false, navfade: 0.65},
	<b>navbut</b>: '&lt;a href=&quot;javascript<b></b>:void(#%i)&quot;&gt;&lt;img src=&quot;images/buts/%c.gif&quot; alt=&quot;%c&quot; title=&quot;%c&quot; /&gt;&lt;/a&gt;',
	<b>onpauseplayswitch</b>: function(pauseplaybuts){
        	var ppstatus = this.setting.$togglerdiv.find('.pauseplaystatus');
		if(pauseplaybuts.hasClass('running')){
			ppstatus.html('running');
		} else {
			ppstatus.html('paused');
		}
	},</code>
	togglerid: &quot;fadeshow1toggler&quot;
});
&lt;/script&gt;</pre>
</div>Configure some options (some examples highlighted in the above) and/or add some markup to the toggler division and you're all set.<br />
<br />
To see the full source code of either demo, use your browser's 'view source'.<br />
<br />
Here's usage instructions for the options and markup that can be used. It also describes two new callback functions and other features that may be utilized:<br />
<br />
<a href="http://home.comcast.net/~jscheuer1/side/inmotion/extrabuttons_usage.htm" target="_blank">Extra Buttons Usage</a><br />
<br />
<div style="border:1px solid red; width: 95%; padding: 5px;"><b>Edit:</b> <i>Sept 4 2011 - add second demo, update script and usage instructions with extrabuttons.navbutonly property/option. Updated the version of fadeslideshow.js to one that actually uses the loading image. Preloaded the loading image on the demo pages. Updated fadeslideshow.js script available here (this may be updated further as the need arises - none of the changes are required for extrabuttons to work, they're just unofficial bug fixes):<br />
<br />
<a href="http://home.comcast.net/~jscheuer1/side/inmotion/js/fadeslideshow.js" target="_blank">fadeslideshow.js</a><br />
</i></div><br />
<br />
<div style="border:1px solid red; width: 95%; padding: 5px;"><b>Edit:</b> <i>Sept 9 2011 - update extrabuttons.js to run the onpauseplayswitch function (if valid and present) on init, remove hard coded value pause/play status from demos to better demonstrate use of this new code, change order of demos in this blog posting, label demos</i></div><br />
<br />
<div style="border:1px solid red; width: 95%; padding: 5px;"><b>Edit:</b> <i>Oct 27 2011 - update fadeslideshow.js for more bug fixes see bottom of:<br />
<br />
<a href="http://www.dynamicdrive.com/forums/showpost.php?p=260188&amp;postcount=1" target="_blank">http://www.dynamicdrive.com/forums/s...88&amp;postcount=1</a><br />
<br />
for more info. One spelling error corrected.</i></div><br />
<br />
Comments are welcome but will be held back until I have a chance to check them for spam or requests for help. If you want help with this, please post in the forum and refer back to this blog entry. Use a title for your post that includes the word ExtraButtons.<br />
<br />
I'm working on more demos, as they evolve, they will be posted here, and the extrabuttons.js script and usage details linked to above may be updated. Notes will be made to that effect.</div>

]]></content:encoded>
			<dc:creator>jscheuer1</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=248</guid>
		</item>
		<item>
			<title>Lightbox Bad, SlimBox Good</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=247</link>
			<pubDate>Tue, 09 Aug 2011 15:55:14 GMT</pubDate>
			<description>The title overstates the point. Both these scripts in their latest versions are pretty darn good as are many of the other Lightbox type scripts out there (see end for two others or Google Lightbox for more, though not all are as good as those mentioned here, many including the original Lightbox...</description>
			<content:encoded><![CDATA[<div>The title overstates the point. Both these scripts in their latest versions are pretty darn good as are many of the other Lightbox type scripts out there (see end for two others or Google Lightbox for more, though not all are as good as those mentioned here, many including the original Lightbox mentioned in the title of this blog entry are).<br />
<br />
<b>Here's the real story</b> -<br />
<br />
Some time ago <a href="http://www.dynamicdrive.com/dynamicindex4/lightbox2/index.htm" target="_blank">Dynamic Drive's Lightbox</a> by Lokesh Dhakar was added to the Dynamic Drive official scripts. It uses the Prototype/Scriptaculous script libraries.<br />
<br />
However, since then so many of the scripts on Dynamic Drive now use the jQuery script library. And more are being converted over to it. Lightbox can be made to work on pages with jQuery based scripts, but it's often difficult. It can require updates to Lightbox, and is finicky even when it does not.<br />
<br />
Slimbox2:<br />
<br />
<a href="http://www.digitalia.be/software/slimbox2" target="_blank">http://www.digitalia.be/software/slimbox2</a><br />
<br />
does almost everything the Lightbox version from Dynamic Drive does, and it's based on jQuery so it's better for use on pages already using the jQuery library. The only thing it doesn't have is the linked title option added to the DD version by Dynamic Drive, and that may be added easily to Slimbox2.<br />
<br />
When using only jQuery based scripts on a page, it greatly cuts down on potential conflicts and also saves time and bandwidth for the page. Just be sure to use only one version of jQuery on the page. Ideally, and in most cases you only need one external script tag for it for the entire page, placed before all the other scripts that use jQuery.<br />
<br />
For even more flexibility with Slimbox2, surpassing even the latest Lightbox version (Lightbox 2.05 at this writing), you may use your own code block for loading, replacing its native &quot;AUTOLOAD CODE BLOCK&quot;.<br />
<br />
Here's one that gives Slimbox2 a few new powers:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 434px;
		text-align: left;
		overflow: auto">// Live invocation for use with other scripts, image maps, AJAX, etc. - also skips duplicates when forming groups
// Uses the rev attribute of the tag for a caption, freeing up the title for other uses or to be blank.
// Remove the AUTOLOAD CODE BLOCK if using this, or replace it with this code.
// Live Load Script (c)2011 John Davenport Scheuer - for use with Slimbox 2.04
// as first seen in http://www.dynamicdrive.com/forums/
// username: jscheuer1 - This Notice Must Remain for Legal Use
(function($){
	if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
		$('*[href][rel^=lightbox]').live('click', function(e){
			var t = this, rel = t.getAttribute('rel'), hrefs = [], links = [], index;
			if(rel === 'lightbox'){
				$.slimbox(t.href, t.getAttribute('rev') || '', { /* Options */ });
			} else {
				$('*[href][rel=&quot;' + rel + '&quot;]').each(function(){
					if($.inArray(this.href, hrefs) &lt; 0){
						if(t.href === this.href){index = hrefs.length;}
						hrefs.push(this.href);
						links.push([this.href, this.getAttribute('rev') || '']);
					}
				});
				<code style="background-color: #FFFFBB">$.slimbox(links, index, {loop: <font color="Red">true</font> /* , Aditional Options */ });</code>
			}
			e.preventDefault();
		});
	}
})(jQuery);</pre>
</div><ul><li>It will work on rel=&quot;lightbox&quot; and rel=&quot;lightbox[groupname]&quot; links, even if they are imported to the page after page load. This makes it good with AJAX and with scripts that change the DOM after it's loaded.<br />
<br /></li>
<li>It uses the rev attribute of the link for the title/caption, so complex HTML may be used without unsightly tool tips appearing on hover of the lightbox link, ex:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">HTML Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 34px;
		text-align: left;
		overflow: auto"><span style="color:#008000">&lt;a href=<span style="color:#0000FF">&quot;some.jpg&quot;</span> rel=<span style="color:#0000FF">&quot;lightbox&quot;</span> rev=<span style="color:#0000FF">&quot;my caption&quot;</span>&gt;</span>Whatever<span style="color:#008000">&lt;/a&gt;</span></pre>
</div></li>
<li>It also, when the rel=&quot;lightbox[groupname]&quot; syntax is used, allows for looping back to the beginning from the end and visa versa. This may be turned off by setting the red true in the above to false.<br />
<br /></li>
<li>It effectively removes duplicate images from groups by never including them in the first place. Lightbox is supposed to do this, but stopped working in that regard a few versions back.</li>
</ul><br />
If you want even more flexibility and know jQuery, you can come up with your own code blocks for loading Slimbox2, or use something like <a href="http://colorpowered.com/colorbox/" target="_blank">ColorBox</a> or <a href="http://fancybox.net/" target="_blank">FacyBox</a> which have the ability to show other types of content, from the page or external on site pages, even from around the web. And they're also jQuery based.<br />
<br />
Comments are welcome but will be held back until I have a chance to check them for spam or requests for help. If you want help with this, please post in the forum and refer back to this blog entry. Use a title for your post that includes the word Slimbox or Lightbox.</div>

]]></content:encoded>
			<dc:creator>jscheuer1</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=247</guid>
		</item>
		<item>
			<title>Broadcast your YouTube-playlists</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=246</link>
			<pubDate>Tue, 19 Jul 2011 19:49:15 GMT</pubDate>
			<description><![CDATA[People using YouTube-playlists do so on their YouTube-channels, most of the time. But we don't need YouTube to broadcast our YouTube-playlists. We only need YouTube to create them and to determine our playlist-number(s). If you want to broadcast your playlists outside any channel, do the following....]]></description>
			<content:encoded><![CDATA[<div>People using YouTube-playlists do so on their YouTube-channels, most of the time. But we don't need YouTube to broadcast our YouTube-playlists. We only need YouTube to create them and to determine our playlist-number(s). If you want to broadcast your playlists outside any channel, do the following.<br />
<br />
Go to <a href="http://www.youtube.com/my_videos" target="_blank">http://www.youtube.com/my_videos</a>. (You have to create a YouTube account if you are 'new').<br />
Create a playlist and add videos to it by clicking on 'add videos', or simply add new videos to an already existing playlist.<br />
There's a link on your page that allows you to manage all your playlists. Click on it.<br />
This will show your playlist(s) together with an option to edit it / them. Click on the edit button of a given playlist.<br />
Click on the 'Share' button (of the playlist) that shows up. This yiels the URL of the playlist. At the end of the URL you have 'list=some number', where some number is something like <font color="Red">PL19C52D08D0EF69FC</font>.<br />
Using this listnumber, you can play all the videos attached to it by using a (new) URL like:<br />
<code style="background-color: #FFFFBB"><i><a href="http://www.youtube.com/embed/" target="_blank">http://www.youtube.com/embed/</a><font color="Red">EYfd7HipW-Q</font>?list=<font color="Red">PL19C52D08D0EF69FC</font>&amp;amp;start=0&amp;amp;autoplay=1&amp;amp;rel=0&amp;amp;showinfo=0&amp;amp;autohide=0</i></code><br />
where <font color="Red">EYfd7HipW-Q</font> is the ID of the first video of the playlist having <font color="Red">PL19C52D08D0EF69FC</font>.<br />
You can put the (new) URL in the address-bar, you can use it as the src of an iframe, etc.<br />
Using it in an iframe would yield something like: <br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 34px;
		text-align: left;
		overflow: auto">&lt;iframe style=&quot;width:400px; height: 400px&quot; src=&quot;http://www.youtube.com/embed/EYfd7HipW-Q?list=PL19C52D08D0EF69FC&amp;amp;start=0&amp;amp;autoplay=1&amp;amp;rel=0&amp;amp;showinfo=0&amp;amp;autohide=0&quot;&gt;&lt;/iframe&gt;</pre>
</div>Of course you can use well-known methods for changing the URL of an iframe to dynamically produce any number of playlists you want. I made a quick example <a href="http://molendijk.freei.me/include_video_yt_no_flicker_playlists/playlist.html" target="_blank">HERE</a>.<br />
===<br />
Arie.</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=246</guid>
		</item>
		<item>
			<title>Updating Menu scripts for iPad/iPhone and Android devices</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=245</link>
			<pubDate>Wed, 29 Jun 2011 06:34:01 GMT</pubDate>
			<description><![CDATA[Mobile devices such as the iPad, iPhone or Android tablets are pretty on par with modern desktop browsers when it comes to rendering JavaScript, though that's not to say they do so without hiccups. One of the more crippling limitations is mobile devices' lack of support for the onmouseover/out...]]></description>
			<content:encoded><![CDATA[<div>Mobile devices such as the iPad, iPhone or Android tablets are pretty on par with modern desktop browsers when it comes to rendering JavaScript, though that's not to say they do so without hiccups. One of the more crippling limitations is mobile devices' lack of support for the onmouseover/out events of JavaScript, which if you think about is more of a fundamental &quot;shortcoming&quot; of <i>touch</i> based devices in general rather than a deliberate act of omission. Regardless, this lack of support means many menu scripts on DD that rely on the onmouseover event to trigger the dropping down of a menu do not work in said devices. One way to overcome this so these menu scripts are at least functional in mobile devices is to modify them so when a mobile device is detected, the onclick event is used instead  to trigger their associated drop down menus instead of the default onmouseover. I'm sure I'll be getting an earful on better ways to target mobile devices, for for now I'm using the following scheme:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 34px;
		text-align: left;
		overflow: auto">var ismobile=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i) != null, //boolean check for popular mobile browsers</pre>
</div>I'll be going through relevant menu scripts on DD to add in the necessary modification so they are functional in the major mobile devices. The first two to get the treatment are:<br />
<br />
<b><font size="5">June 28th, 11</font></b><br />
<br />
1) <a href="http://dynamicdrive.com/dynamicindex1/dropmenuindex.htm" target="_blank">Anylink Drop Down Menu</a><br />
2) <a href="http://dynamicdrive.com/dynamicindex1/anylinkcss.htm" target="_blank">Anylink CSS Menu</a><br />
<br />
<b><font size="5">July 1st, 11</font></b><br />
<br />
1) <a href="http://www.dynamicdrive.com/dynamicindex1/popupmenu.htm" target="_blank">Flex Level Popup Menu</a><br />
<br />
<b><font size="5">July 2nd, 11</font></b><br />
<br />
1) <a href="http://www.dynamicdrive.com/dynamicindex1/flexdropdown.htm" target="_blank">Flex Level Drop Down Menu</a><br />
<br />
<b><font size="5">July 17th, 11</font></b><br />
<br />
1) <a href="http://www.dynamicdrive.com/dynamicindex1/ddlevelsmenu/index.htm" target="_blank">All Levels Navigational Menu</a><br />
<br />
I'll update this list each time another menu script is updated. In general only the .js file in each case is affected unless noted otherwise. Feedback, suggestions, fire away!</div>

]]></content:encoded>
			<dc:creator>ddadmin</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=245</guid>
		</item>
		<item>
			<title>A Strange Menu-Include</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=244</link>
			<pubDate>Tue, 24 May 2011 21:16:41 GMT</pubDate>
			<description>I was playing around with some code recently and discovered - more or less by accident - that we can include any fully functioning standalone menu by doing the following. The scripts and styles belonging to the external file will be preserved after inclusion: 
1. We put this script just before the...</description>
			<content:encoded><![CDATA[<div>I was playing around with some code recently and discovered - more or less by accident - that we can include any fully functioning standalone menu by doing the following. The scripts and styles belonging to the external file will be preserved after inclusion:<br />
1. We put this script just before the closing body-tag of the external file: <br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 66px;
		text-align: left;
		overflow: auto">&lt;script type=&quot;text/javascript&quot;&gt;
try{top.document.getElementById('container_div').innerHTML=document.documentElement.innerHTML}
catch(err){top.document.getElementById('container_div').appendChild(document.documentElement)} &lt;/script&gt;</pre>
</div>2. We remove the scripts and styles belonging to the head of the external file and put them in the head of the document in which we want to include the file.<br />
3. We put the following in the head of the (main) document, <font color="Red">above the scripts and styles that we already put there (see 2 above)</font>: <br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 98px;
		text-align: left;
		overflow: auto">&lt;script type=&quot;text/javascript&quot;&gt;
//Writing an iframe that loads the external file, and a div in which it will be put by the lines given in 1 above. Using DOM methods for creating the iframe and the div, or putting the iframe / div right away in the body, don't work: we need document.write for this particular case. <font color="Red">This script must be on top of all other codes.</font> The iframe is invisible. The styles for the div are just examples
document.write('&lt;iframe src=&quot;name_of_external_menu.html&quot; name=&quot;ifr&quot; style=&quot;position:absolute;left:-10000px&quot;&gt;&lt;\/iframe&gt;')
document.write('&lt;div id=&quot;container_div&quot; style=&quot;position:absolute;top:270px;bottom:250px;border:2px inset silver&quot;&gt;&lt;\/div&gt;')
&lt;/script&gt;</pre>
</div>Very strange. DEMO <a href="http://molendijk.freei.me/include_menu19/includer.html" target="_blank">here</a>.<br />
===<br />
Arie Molendijk.</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=244</guid>
		</item>
		<item>
			<title>(Beginners) Easy ways to speed up your web pages</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=243</link>
			<pubDate>Fri, 15 Apr 2011 18:19:29 GMT</pubDate>
			<description><![CDATA[This week I was asked to look at and offer opinions on a student's website project.  
 
Now, its been a while since I was in student-shoes but it brought back memories of the mistakes that I made myself back when I was first learning how to make websites so I thought I'd create my first blog about...]]></description>
			<content:encoded><![CDATA[<div>This week I was asked to look at and offer opinions on a student's website project. <br />
<br />
Now, its been a while since I was in student-shoes but it brought back memories of the mistakes that I made myself back when I was first learning how to make websites so I thought I'd create my first blog about the easy mistakes and easy fixes that can really help improve loading times.<br />
<br />
My first observation is with the common development path that a lots of new-starters take when making their first website (me included, back in the day);<br />
<br />
<b>Priority 1</b> &gt;&gt; Find an easy-to-use package software that creates a web page for me - all I want to do is point-and-click and drag-and-drop.<br />
(<b>Mistake 1</b> &gt;&gt; Not fully understanding the basic structure of a web page or HTML)<br />
<br />
<b>Priority 2</b> &gt;&gt; Making the page look nice with lots of eye-catching elements <br />
(<b>Mistake 2</b> &gt;&gt; Not understanding web-suitable media formats and the extra impact that all embedded elements/scripts/animations have on the speed of a website or impression they make on visitors)<br />
<br />
<b>Priority 3</b> &gt;&gt; Getting Priority 1 and 2 finished with as quickly as possible so content can be added.<br />
(<b>Mistake 3</b> &gt;&gt; Not realising that visitors wont hang around to read your content, buy your goodies or comment on your articles, or that they're unlikely to want to come back, because the pages take too long to load)<br />
<br />
So it seems that while we're in the learning stages, a student web developer's key goal is to just get a nice-ish looking website online as quickly as possible at (seemingly) any cost. <br />
<br />
The students I cross paths with do have a basic understanding of web page structure - they know that a very basic web page is laid out like this…<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 146px;
		text-align: left;
		overflow: auto">&lt;html&gt;
<font color="Red">&lt;head&gt;
&lt;!-- stylesheets, scripts and metadata goes here --&gt;
&lt;/head&gt;</font>
<font color="Blue">&lt;body&gt;
&lt;!-- content (text, pictures and other elements) that visitors see goes here --&gt;
&lt;/body&gt;</font>
&lt;/html&gt;</pre>
</div>…And they are also familiar with the “code view” in their web page builders, so if you’re not, turn it on now and have a look at what’s there - you're going to need to know what the &lt;head&gt; and &lt;body&gt; sections are for points 4 and 5.<br />
<br />
So taking one student's website under my wing and using it to illustrate some easy improvements, we set to work on fixing things up.<br />
<br />
Now the tips I list below are basic common sense things so it's unlikely that I'll be covering any new ground - I'm just bringing a few thoughts together here so other newbies can try them out and see how they work for them. They're all really easy to do but just require a bit of extra thought, time and effort - collectively their effects can be quite dramatic so it really is worth trying them out if you don't do them already.<br />
<br />
<b>1 - Scale images prior to putting them in a web page</b><br />
When putting things on the web, the idea is to make things as small as possible so they download quicker and save on bandwidth. For most media this refers to physical file size on disk rather than physical dimensions, but for images it's a double-whammy, so I thought it was worth covering early :) <br />
If your image only needs to be 100 x 150 pixels when it's on the web page, resize it to 100 x 150 pixels in Photoshop or <a href="http://www.gimp.org/" target="_blank">GIMP</a> before you put it there rather than rely on drag-and-drop visual scaling with your web page builder.<br />
<br />
<b>2 - Use the right image format for the job</b><ul><li>Use .jpg/jpeg for photos or detailed images that require a lot of colours. Also try .png-24 as you can often get more savings with them over .jpg/.jpegs.</li>
<li>Use .gif for simple, small animations, logos, diagrams and images that require 1-bit transparency, which means a pixel is either transparent or it isn’t (no middle-ground). .Gif only supports 256 colours so you may notice speckling after saving in this format.<br />
You might also like to try substituting .gif for .png-8 as in most of my tests, .png-8 offers a higher compression with, on average, a 7-12% saving over the .gif format.</li>
<li>Use .png-24 for images that require lots of colours and alpha-transparency (pixels can be varying degrees of transparency)</li>
</ul><b>3 - Optimise images</b><br />
If you're saving images directly from something like Photoshop, make sure you select the option to &quot;save for the web&quot;. This will reduce the dpi and quality of the image to strip out all the in-between colours that the human eye can't really differentiate between, leaving you with an image file that takes up much less physical disk space on the web that downloads much faster. Even saving at 60% quality will produce an image that is almost indistinguishable from the original. <br />
<br />
<i><font color="Green">You can also try DD's image optimising tool here: <a href="http://tools.dynamicdrive.com/imageoptimizer/" target="_blank">http://tools.dynamicdrive.com/imageoptimizer/</a></font></i><br />
<br />
When optimising, there will always be a trade-off between size and quality so you'll need to do a bit of fiddling to find the best-fit settings for you.<br />
<br />
<b>4 - Use an external CSS stylesheet (and condense multiple stylesheets into one and minify)</b><br />
Web page builders often insert styles in the &lt;head&gt; section of every web page meaning that a browser has to download extra code to view that web page, and then download the whole lot again when the visitor moves on to page 2.<br />
<br />
Taking all the CSS out of the &lt;head&gt; section and putting it into an external stylesheet will make it cachable by the web browser so the stylesheet is downloaded once and then sits ready and waiting in reserve to style the next page (minus the need to download it again).<br />
<br />
It's also worth minifying it to take out all the comments and unnecessary whitespace. I've had mixed results with online minification tools so I find that doing it manually is often more reliable. To minify by hand, just do this;<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 50px;
		text-align: left;
		overflow: auto">h1{color:red;text-align:center;font-size:18pt;}
p{color:black;text-align:left;font-size:10pt;}</pre>
</div>instead of this;<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 226px;
		text-align: left;
		overflow: auto">h1
{
color:red;
text-align:center;
font-size:18pt;
}

p
{
color:black;
text-align:left;
font-size:10pt;
}</pre>
</div><i><font color="Green">How to use an external stylesheet: <a href="http://www.w3schools.com/css/css_howto.asp" target="_blank">http://www.w3schools.com/css/css_howto.asp</a></font></i><br />
<br />
<b>5 - Use an external javascript file (and condense multiple js files into one and minify)</b><br />
Same cachable reason as point 4.<br />
<br />
You should only really merge multiple files if they are common to all/most pages of your website. If you have a page that utilises a one-off javascript file, particularly if its quite large, you should probably only include it in the page that actually needs it to avoid unecessary load-time on your initial home page. <br />
<br />
You can argue that downloading a script before it's actually needed can create the impression of faster load-times elsewhere around the website, but that's something to be considered for each website. <br />
<br />
To create an even bigger impression of faster load-time you can also put javascripts at the bottom of your web page (above the closing &lt;/body&gt; tag) but this depends on what the javascripts are needed for (e.g. if the script uses document.write to insert some content, it can't be moved to the bottom of the page) so for the purpose of keeping things simple, lets just stick with merging and minifying.<br />
<br />
<i><font color="Green">How to make an external javascript file:  <a href="http://javascript.about.com/library/bltut13.htm" target="_blank">http://javascript.about.com/library/bltut13.htm</a> <br />
Online minification tool: <a href="http://jscompress.com/" target="_blank">http://jscompress.com/</a></font></i><br />
<br />
<b>6 - Spread files over other domains</b><br />
All the files, scripts and images that make up your web page can be downloaded faster if they are spread over a few different domains. This is because browsers are limited to the number of files that they can download at any one time from one domain, putting subsequent files in a queue to download later. If you are able to put files under other domains, a browser can download them in parallel, resulting in shorter queues and more files being downloaded at the same time.  <br />
<br />
<i><font color="Green">For a more detailed explanation of this, please refer to this article: <a href="http://yuiblog.com/blog/2007/04/11/performance-research-part-4/" target="_blank">http://yuiblog.com/blog/2007/04/11/p...search-part-4/</a></font></i><br />
<br />
<b>7 - Stream-line your content</b><br />
(OK, so this is heavily linked to usability and accessibility, as well as SEO, but I still think it's relevant for page-load times so I'll continue.)<br />
<br />
Obviously if you're writing a medical blog you'll be using lots of fancy sounding, scientific terms, but for general everyday web-talk, try and keep things simple. <br />
<br />
People tend to visit websites to find information and achieve a goal in the shortest times possible so why make them wade through reams of content to find what they want? <br />
<br />
Keeping things short and simple will allow people to find the information they want quickly, and also help to stream-line your web page content and allow things to load a bit faster.<br />
<ul><li>Only use pictures that are relevant to your content.</li>
<li>Use animation *sparingly* to highlight areas of importance</li>
<li>Try not to auto-play videos and music - allow users the choice to play or ignore.</li>
<li>Write shorter sentences/paragraphs (and cut out the jargon). If you need to provide a lot more information on one particular matter, consider providing an additional document for download that the user can take away and read at their leisure.</li>
<li>Use bullet lists to get key points across quickly.</li>
</ul><br />
OK, as I said at the start of this post, these are all easy steps for new web-developers to take to speed up web page - no revelations, just common sense considerations. Anyway, I hope its of use to somebody :)<br />
<br />
To be covered in my next blog post &gt;&gt; “<b>Further ways to speed up web page loading times with php</b>”</div>

]]></content:encoded>
			<dc:creator>Beverleyh</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=243</guid>
		</item>
		<item>
			<title>The YouTube version3 player</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=49</link>
			<pubDate>Mon, 29 Nov 2010 14:51:51 GMT</pubDate>
			<description><![CDATA[The player used on http://www.youtube.com/watch?v=VIDEO_ID is YouTube's version3 player. If you want to use it directly (without the watch?v= part) you can do, for instance: http://www.youtube.com/v/EUSsXdhxFIM?version=3. (You may have to press CTRL if you want this to work in IE). 
 
The advantage...]]></description>
			<content:encoded><![CDATA[<div>The player used on <i><a href="http://www.youtube.com/watch?v=VIDEO_ID" target="_blank">http://www.youtube.com/watch?v=VIDEO_ID</a></i> is YouTube's version3 player. If you want to use it directly (without the <i>watch?v= part</i>) you can do, for instance: <i><a href="http://www.youtube.com/v/EUSsXdhxFIM?version=3" target="_blank">http://www.youtube.com/v/EUSsXdhxFIM?version=3</a></i>. (You may have to press CTRL if you want this to work in IE).<br />
<br />
The advantage of the version3-player over other versions is that a click on a playing video doesn't open a new YouTube window containing all sorts of information that you may not be interested in. The click event just pauses the video.<br />
<br />
You can include a version3-video with something like:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 114px;
		text-align: left;
		overflow: auto">&lt;object type=&quot;application/x-shockwave-flash&quot; style=&quot;position:absolute; left:20%; top:20%; height:60%; width:60%; border:1px solid black;&quot; data=&quot;http://www.youtube.com/v/EUSsXdhxFIM?version=3&amp;amp;rel=0&amp;amp;autoplay=1&amp;amp;showinfo=0&amp;amp;start=5&quot; &gt;
&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/EUSsXdhxFIM?version=3&amp;amp;rel=0&amp;amp;autoplay=1&amp;amp;showinfo=0&amp;amp;start=5&quot; &gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; &gt;
&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; &gt;
&lt;param name=&quot;flashvars&quot; value=&quot;autoplay=true&quot; &gt;
&lt;/object&gt;</pre>
</div>As soon as I understood this, I decided to write a script allowing us to load videos (that use the version3 player) with the help of a javascript function.<br />
Demos and explanations <a href="http://www.let.rug.nl/molendyk/include_video_youtube_version3/include_video_youtube_version3.html" target="_blank">HERE</a>.<br />
===<br />
Arie.</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=49</guid>
		</item>
		<item>
			<title>Sticky Tooltip script Unofficial Update</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=48</link>
			<pubDate>Tue, 09 Nov 2010 16:49:41 GMT</pubDate>
			<description><![CDATA[The Sticky Tooltip script (http://www.dynamicdrive.com/dynamicindex5/stickytooltip.htm) has some room for updating as I've outlined here: 
 
Sticky Tooltip script - not sticky (http://www.dynamicdrive.com/forums/showthread.php?t=58709) 
 
and here: 
 
Sticky Tooltip script - no dock in IE 7- for...]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.dynamicdrive.com/dynamicindex5/stickytooltip.htm" target="_blank">The Sticky Tooltip script</a> has some room for updating as I've outlined here:<br />
<br />
<a href="http://www.dynamicdrive.com/forums/showthread.php?t=58709" target="_blank">Sticky Tooltip script - not sticky</a><br />
<br />
and here:<br />
<br />
<a href="http://www.dynamicdrive.com/forums/showthread.php?t=58692" target="_blank">Sticky Tooltip script - no dock in IE 7- for image map</a><br />
<br />
In those threads I offer piecemeal solutions, the first of which above is the most problematic:<br />
<br />
<div style="margin:20px; margin-top:5px; ">
	<div class="smallfont" style="margin-bottom:2px">Quote:</div>
	<table cellpadding="6" cellspacing="0" border="0" width="100%">
	<tr>
		<td class="alt2" style="border:1px inset">
			
				<div>
					Originally Posted by <strong>jscheuer1</strong>
					<a href="showthread.php?p=240968#post240968" rel="nofollow"><img class="inlineimg" src="images/buttons/viewpost.gif" border="0" alt="View Post" /></a>
				</div>
				<div style="font-style:italic">Even on the demo page, if the tip is in sticky mode and one mouses over one of the other triggers, the tip changes position and content. Also in sticky mode, if one mouses out of the trigger and back over it, the content remains the same but the position changes.</div>
			
		</td>
	</tr>
	</table>
</div>There is also another issue:<br />
<br />
Since when sticky, clicking outside the box is what dismisses it, and the mouse is probably still over the trigger or may now be over another anchor link or area tag, if that tag links to another page, it will fire, taking the user away from the page when all they wanted to do was dismiss the sticky tip.<br />
<br />
This last and the first might actually be desirable in some cases, usually not.<br />
<br />
Since all three are worth updating, I've made a combined script that addresses all three and includes two new options to allow the first and second to be toggles:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 386px;
		text-align: left;
		overflow: auto">/*
* Sticky Tooltip script (v1.0)
* Created: Nov 25th, 2009. This notice must stay intact for usage 
* Author: Dynamic Drive at http://www.dynamicdrive.com/
* Visit http://www.dynamicdrive.com/ for full source code

* Unofficial Modifications 11/2010:
* Allows for optional disabling of links on the page while sticky is in sticky mode
* Allows for optional extremesticky behavior to override the original codes 'bug' in stickiness
* Fixes sticky on right click for image maps in IE 6 and 7
*/

var stickytooltip={
	tooltipoffsets: [20, -30], //additional x and y offset from mouse cursor for tooltips
	fadeinspeed: 200, //duration of fade effect in milliseconds
	rightclickstick: true, //sticky tooltip when user right clicks over the triggering element (apart from pressing &quot;s&quot; key) ?
	stickybordercolors: ['black', 'darkred'], //border color of tooltip depending on sticky state
	stickynotice1: ['Press &quot;s&quot;', 'or right click', 'to sticky box'], //customize tooltip status message
	stickynotice2: 'Click outside this box to hide it', //customize tooltip status message
<code style="background-color: #FFFFBB">	stickykillclicks: true, //while tooltip is sticky, should links on the page be temporarily disabled?
	extremestick: true, //while tooltip is sticky, should all other triggers be temporarily disabled?</code>

	//***** NO NEED TO EDIT BEYOND HERE</pre>
</div>The stickykillclicks option apparently does not disable links in the sticky tip, which is a good thing. I just haven't figured out why yet.<br />
<br />
The extremestick option prevents all the triggers from taking over and moving and/or changing the sticky tip when in sticky mode.<br />
<br />
The IE 6 and 7 issue for image maps is dealt with and obviously needs no toggle.<br />
<br />
Anyways, here's the code (right click and 'save as'):<br />
<br />
<a href="http://www.dynamicdrive.com/forums/blog_attachment.php?attachmentid=11&amp;d=1292519600" >stickytooltip.js</a><br />
<br />
It's a drop in replacement for the original script, everything else remains the same as instructed on the demo page.<br />
<br />
<div style="border:1px solid red; width: 95%; padding: 5px;"><b>Edit:</b> <i>12/10 - Added another update: script will now properly follow border color changes using the stickybordercolors configuration. The original only changed the background of the bottom panel.</i></div></div>

]]></content:encoded>
			<dc:creator>jscheuer1</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=48</guid>
		</item>
		<item>
			<title>Stretching an iframe or an object with pixel precision</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=47</link>
			<pubDate>Thu, 17 Jun 2010 21:35:20 GMT</pubDate>
			<description><![CDATA[Code: 
--------- 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta http-equiv="Content-Style-Type" content="text/css"> 
<meta...]]></description>
			<content:encoded><![CDATA[<div><div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 418px;
		text-align: left;
		overflow: auto">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;
&lt;meta http-equiv=&quot;Content-Script-Type&quot; content=&quot;text/javascript&quot;&gt;
&lt;title&gt;&lt;/title&gt;
&lt;/head&gt;

&lt;body style=&quot;background: sienna&quot;&gt;

&lt;div style=&quot;position: <font color="Red">absolute</font>; left:<font color="Red">60</font>px; top: <font color="Red">60</font>px; right: <font color="Red">60</font>px; bottom: <font color="Red">60</font>px; border: 1px solid black&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;http://google.com&quot; style=&quot;position: <font color="Red">absolute</font>; width: <font color="Red">100%</font>; height: <font color="Red">100%</font>; &quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;!--[if lt IE 7]&gt;
&lt;div style=&quot;position: <font color="Red">absolute</font>; left:<font color="Red">60</font>px; top: <font color="Red">60</font>px; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;http://google.com&quot; style=&quot;position: <font color="Red">absolute</font>; width: expression(document.documentElement.clientWidth-<font color="Red">60</font>-<font color="Red">60</font>+'px'); height: expression(document.documentElement.clientHeight-<font color="Red">60</font>-<font color="Red">60</font>+'px'); border: 1px solid black &quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;![endif]--&gt;

&lt;/body&gt;

&lt;/html&gt;</pre>
</div>Works also with an object. I got the idea from <a href="http://www.alistapart.com/articles/conflictingabsolutepositions" target="_blank">http://www.alistapart.com/articles/c...olutepositions</a><br />
===<br />
Arie.</div>

]]></content:encoded>
			<dc:creator>molendijk</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=47</guid>
		</item>
		<item>
			<title><![CDATA["Drop Up" option for Anylink and Anylink CSS Menu]]></title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=46</link>
			<pubDate>Tue, 01 Jun 2010 08:19:18 GMT</pubDate>
			<description>Quite a few members have asked for the ability to have a menu drop upwards (instead of the default downwards) for either Anylink Menu (http://www.dynamicdrive.com/dynamicindex1/dropmenuindex.htm) and Anylink CSS Menu (http://www.dynamicdrive.com/dynamicindex1/anylinkcss.htm). With that said, use...</description>
			<content:encoded><![CDATA[<div>Quite a few members have asked for the ability to have a menu drop upwards (instead of the default downwards) for either <a href="http://www.dynamicdrive.com/dynamicindex1/dropmenuindex.htm" target="_blank">Anylink Menu</a> and <a href="http://www.dynamicdrive.com/dynamicindex1/anylinkcss.htm" target="_blank">Anylink CSS Menu</a>. With that said, use the below attached modified versions of the respective .js files for the two scripts to achieve this. Then, inside the HTML markup for the anchor link of a menu, to get the menu to drop up for it, make use of the data-dir attribute:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 34px;
		text-align: left;
		overflow: auto">&lt;p&gt;&lt;a href=&quot;http://www.dynamicdrive.com&quot; class=&quot;menuanchorclass&quot; rel=&quot;anylinkmenu1&quot; <font color="Red">data-dir=&quot;up&quot;</font>&gt;Default Example&lt;/a&gt;&lt;/p&gt;</pre>
</div>The presence of the attribute in red in combination with the modified .js file will cause the menu for that anchor to drop upwards.<br />
<br />
Enjoy!</div>


<!-- attachments -->
	<div style="margin-top:10px">

		
		
		
		
			<fieldset class="fieldset">
				<legend>Attached Files</legend>
				<table cellpadding="0" cellspacing="3" border="0">
				<tr>
	<td><img class="inlineimg" src="http://www.dynamicdrive.com/forums/images/attach/js.gif" alt="File Type: js" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
	<td><a href="http://www.dynamicdrive.com/forums/blog_attachment.php?attachmentid=8&amp;d=1275380138">anylinkmenu.js</a> (12.5 KB, 4026 views)</td>
</tr><tr>
	<td><img class="inlineimg" src="http://www.dynamicdrive.com/forums/images/attach/js.gif" alt="File Type: js" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
	<td><a href="http://www.dynamicdrive.com/forums/blog_attachment.php?attachmentid=9&amp;d=1275380147">anylinkcssmenu.js</a> (11.1 KB, 4012 views)</td>
</tr>
				</table>
			</fieldset>
		

	</div>
<!-- / attachments -->
]]></content:encoded>
			<dc:creator>ddadmin</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=46</guid>
		</item>
		<item>
			<title>Styling Descriptions for Ultimate Fade-in slideshow (v2.1)</title>
			<link>http://www.dynamicdrive.com/forums/blog.php?b=45</link>
			<pubDate>Tue, 18 May 2010 10:33:32 GMT</pubDate>
			<description>There are actually 4 css selectors that can figure in this. Only three of them really matter. If you only have one show on your page, you only need to think about the last two. The selectors are: 
 
1. The id of the show, #fadeshow1, for example. 
2. .fadeslidedescdiv - the class for all...</description>
			<content:encoded><![CDATA[<div>There are actually 4 css selectors that can figure in this. Only three of them really matter. If you only have one show on your page, you only need to think about the last two. The selectors are:<br />
<ol style="list-style-type: decimal"><li>The id of the show, <code style="background-color: #FFFFBB"><font face="Arial">#fadeshow1</font></code>, for example.<br />
<br /></li>
<li><code style="background-color: #FFFFBB"><font face="Arial">.fadeslidedescdiv</font></code> - the class for all description containers.<br />
<br /></li>
<li><code style="background-color: #FFFFBB"><font face="Arial">.descpanelbg</font></code> - the class for all description backgrounds.<br />
<br /></li>
<li><code style="background-color: #FFFFBB"><font face="Arial">.descpanelfg</font></code> - the class for all description foregrounds.</li>
</ol><br />
Though it can be used for some things, you can safely ignore <code style="background-color: #FFFFBB"><font face="Arial">.fadeslidedescdiv</font></code> in almost all cases. The background panel controls the background color and opacity of the background color for the descriptions. Any background color or opacity you want to enforce here must use the !important keyword in order to override the script's internal styles for these. The foreground panel may be used to style the color and font of the description. It's font styles need no override, but it's color styles do.<br />
<br />
So, for example, if you wanted to change the background to red, the color to black and the font to Comic Sans MS:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 130px;
		text-align: left;
		overflow: auto">.descpanelbg {
	background-color: red!important;
}
.descpanelfg {
	font-family: 'comic sans ms', sans-serif;
	color: black!important;
}</pre>
</div>You can change the font-size, line-height, pretty much anything you want. And the above method of using the selectors will work fine as long as you either have only one slide show on the page, or wish to style the descriptions in all slide shows on the page in the same manner.<br />
<br />
In cases where there are more than one show on the page and you want your customization to apply to only one show, use its wrapper id as a prefix, ex:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 6px;
		border: 1px inset;
		width: 750px;
		height: 82px;
		text-align: left;
		overflow: auto"><code style="background-color: #FFFFBB">#fadeshow1</code> .descpanelfg {
	font-family: 'comic sans ms', sans-serif;
	color: black!important;
}</pre>
</div></div>

]]></content:encoded>
			<dc:creator>jscheuer1</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/blog.php?b=45</guid>
		</item>
	</channel>
</rss>

