NancyOK:
That worked great!! Thank you!
That doesn't work for me.
Here is the jscript_easySlider.php file I created (running on linux).
Have I messed it up? I followed the instructions.
=======================================
<script>^M
/*^M
* Easy Slider 1.7 - jQuery plugin^M
* written by Alen Grakalic ^M
* http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding^M
*^M
* Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)^M
* Dual licensed under the MIT (MIT-LICENSE.txt)^M
* and GPL (GPL-LICENSE.txt) licenses.^M
*^M
* Built for jQuery library^M
* http://jquery.com^M
*^M
*/^M
^M
/*^M
* markup example for $("#slider").easySlider();^M
* ^M
* <div id="slider">^M
* <ul>^M
* <li><img src="images/01.jpg" alt="" /></li>^M
* <li><img src="images/02.jpg" alt="" /></li>^M
* <li><img src="images/03.jpg" alt="" /></li>^M
* <li><img src="images/04.jpg" alt="" /></li>^M
* <li><img src="images/05.jpg" alt="" /></li>^M
* </ul>^M
* </div>^M
*^M
*/^M
^M
(function($) {^M
^M
$.fn.easySlider = function(options){^M
^M
// default configuration properties^M
var defaults = { ^M
prevId: 'prevBtn',^M
prevText: 'Previous',^M
nextId: 'nextBtn', ^M
nextText: 'Next',^M
controlsShow: true,^M
controlsBefore: '',^M
controlsAfter: '', ^M
controlsFade: true,^M
firstId: 'firstBtn',^M
firstText: 'First',^M
firstShow: false,^M
lastId: 'lastBtn', ^M
lastText: 'Last',^M
lastShow: false, ^M
vertical: false,^M
speed: 2000,^M
auto: false,^M
pause: 3000,^M
continuous: false, ^M
numeric: false,^M
numericId: 'controls'^M
}; ^M
^M
var options = $.extend(defaults, options); ^M
^M
this.each(function() { ^M
var obj = $(this); ^M
var s = $("li", obj).length;^M
var w = $("li", obj).width(); ^M
var h = $("li", obj).height(); ^M
var clickable = true;^M
obj.width(w); ^M
obj.height(h); ^M
obj.css("overflow","hidden");^M
var ts = s-1;^M
var t = 0;^M
$("ul", obj).css('width',s*w); ^M
^M
if(options.continuous){^M
$("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));^M
$("ul", obj).append($("ul li:nth-child(2)", obj).clone());^M
$("ul", obj).css('width',(s+1)*w);^M
}; ^M
^M
if(!options.vertical) $("li", obj).css('float','left');^M
^M
if(options.controlsShow){^M
var html = options.controlsBefore; ^M
if(options.numeric){^M
html += '<div id="control_div"><ol id="'+ options.numericId +'"></div></ol>';^M
} else {^M
if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';^M
html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';^M
html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';^M
if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>'; ^M
};^M
^M
html += options.controlsAfter; ^M
$(obj).after(html); ^M
};^M
^M
if(options.numeric){ ^M
for(var i=0;i<s;i++){ ^M
$(document.createElement("li"))^M
.attr('id',options.numericId + (i+1))^M
.html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>')^M
.appendTo($("#"+ options.numericId))^M
.click(function(){ ^M
animate($("a",$(this)).attr('rel'),true);^M
}); ^M
}; ^M
} else {^M
$("a","#"+options.nextId).click(function(){ ^M
animate("next",true);^M
});^M
$("a","#"+options.prevId).click(function(){ ^M
animate("prev",true); ^M
}); ^M
$("a","#"+options.firstId).click(function(){ ^M
animate("first",true);^M
}); ^M
$("a","#"+options.lastId).click(function(){ ^M
animate("last",true); ^M
}); ^M
};^M
^M
function setCurrent(i){^M
i = parseInt(i)+1;^M
$("li", "#" + options.numericId).removeClass("current");^M
$("li#" + options.numericId + i).addClass("current");^M
};^M
^M
function adjust(){^M
if(t>ts) t=0; ^M
if(t<0) t=ts; ^M
if(!options.vertical) {^M
$("ul",obj).css("margin-left",(t*w*-1));^M
} else {^M
$("ul",obj).css("margin-left",(t*h*-1));^M
}^M
clickable = true;^M
if(options.numeric) setCurrent(t);^M
};^M
^M
function animate(dir,clicked){^M
if (clickable){^M
clickable = false;^M
var ot = t; ^M
switch(dir){^M
case "next":^M
t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1; ^M
break; ^M
case "prev":^M
t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1;^M
break; ^M
case "first":^M
t = 0;^M
break; ^M
case "last":^M
t = ts;^M
break; ^M
default:^M
t = dir;^M
break; ^M
}; ^M
var diff = Math.abs(ot-t);^M
var speed = diff*options.speed; ^M
if(!options.vertical) {^M
p = (t*w*-1);^M
$("ul",obj).animate(^M
{ marginLeft: p }, ^M
{ queue:false, duration:speed, complete:adjust }^M
); ^M
} else {^M
p = (t*h*-1);^M
$("ul",obj).animate(^M
{ marginTop: p }, ^M
{ queue:false, duration:speed, complete:adjust }^M
); ^M
};^M
^M
if(!options.continuous && options.controlsFade){ ^M
if(t==ts){^M
$("a","#"+options.nextId).hide();^M
$("a","#"+options.lastId).hide();^M
} else {^M
$("a","#"+options.nextId).show();^M
$("a","#"+options.lastId).show(); ^M
};^M
if(t==0){^M
$("a","#"+options.prevId).hide();^M
$("a","#"+options.firstId).hide();^M
} else {^M
$("a","#"+options.prevId).show();^M
$("a","#"+options.firstId).show();^M
}; ^M
}; ^M
if(clicked) clearTimeout(timeout);^M
if(options.auto && dir=="next" && !clicked){;^M
timeout = setTimeout(function(){^M
animate("next",false);^M
},diff*options.speed+options.pause);^M
};^M
^M
};^M
^M
};^M
// init^M
var timeout;^M
if(options.auto){;^M
timeout = setTimeout(function(){^M
animate("next",false);^M
},options.pause);^M
}; ^M
^M
if(options.numeric) setCurrent(0);^M
^M
if(!options.continuous && options.controlsFade){ ^M
$("a","#"+options.prevId).hide();^M
$("a","#"+options.firstId).hide(); ^M
}; ^M
^M
});^M
^M
};^M
^M
})(jQuery);^M
</script>