(function($) {
$.fn.easySlider = function(options){ // default configuration properties var defaults = { prevId: 'prevBtn', prevText: 'Previous',//上一页 nextId: 'nextBtn', nextText: 'Next',//下一页 controlsShow: true,//上一页,下一页按钮是否显示,默认为true,如果改为false滚动条滚动模式变为自动。 controlsBefore: '',//默认为空,用于在控制按钮上增加自定义的HTML片段,controlsBefore为增加在按钮前面的代码 controlsAfter: '', //controlsAfter为增加在按钮后面的代码. controlsFade: true,//默认为true,如果设置成false,滚动到最后一页的时候按钮不会消失。 firstId: 'firstBtn', firstText: 'First', firstShow: false,//是否显示第一页的按钮。 lastId: 'lastBtn', lastText: 'Last', lastShow: false, //是否显示最后一页的按钮 vertical: false,//是否垂直滚动 speed: 800,//切换图片过程的时间(单位:毫秒) auto: false,//当不进行任何操作时是否自动滚动,当进行操作后(如:点击下一张)将不会自己滚动 pause: 2000,//等待pause毫秒才进行图片切换 continuous: false//设置为true时,滚动到最后一页后会跳到第一页继续滚动。 }; var options = $.extend(defaults, options); this.each(function() { var obj = $(this); var s = $("li", obj).length; var w = $("li", obj).width(); var h = $("li", obj).height(); obj.width(w); obj.height(h); obj.css("overflow","hidden"); var ts = s-1; var t = 0; $("ul", obj).css('width',s*w); if(!options.vertical) $("li", obj).css('float','left'); if(options.controlsShow){ var html = options.controlsBefore; if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=/"javascript:void(0);/">'+ options.firstText +'</a></span>'; html += ' <span id="'+ options.prevId +'"><a href=/"javascript:void(0);/">'+ options.prevText +'</a></span>'; html += ' <span id="'+ options.nextId +'"><a href=/"javascript:void(0);/">'+ options.nextText +'</a></span>'; if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=/"javascript:void(0);/">'+ options.lastText +'</a></span>'; html += options.controlsAfter; $(obj).after(html); }; $("a","#"+options.nextId).click(function(){ animate("next",true); }); $("a","#"+options.prevId).click(function(){ animate("prev",true); }); $("a","#"+options.firstId).click(function(){ animate("first",true); }); $("a","#"+options.lastId).click(function(){ animate("last",true); }); function animate(dir,clicked){ var ot = t; switch(dir){ case "next": t = (ot>=ts) ? (options.continuous ? 0 : ts) : t+1; break; case "prev": t = (t<=0) ? (options.continuous ? ts : 0) : t-1; break; case "first": t = 0; break; case "last": t = ts; break; default: break; }; var diff = Math.abs(ot-t); var speed = diff*options.speed; if(!options.vertical) { p = (t*w*-1); $("ul",obj).animate( { marginLeft: p }, speed ); } else { p = (t*h*-1); $("ul",obj).animate( { marginTop: p }, speed ); }; if(!options.continuous && options.controlsFade){ if(t==ts){ $("a","#"+options.nextId).hide(); $("a","#"+options.lastId).hide(); } else { $("a","#"+options.nextId).show(); $("a","#"+options.lastId).show(); }; if(t==0){ $("a","#"+options.prevId).hide(); $("a","#"+options.firstId).hide(); } else { $("a","#"+options.prevId).show(); $("a","#"+options.firstId).show(); }; }; if(clicked) clearTimeout(timeout); if(options.auto && dir=="next" && !clicked){; timeout = setTimeout(function(){ animate("next",false); },diff*options.speed+options.pause); }; }; // init var timeout; if(options.auto){; timeout = setTimeout(function(){ animate("next",false); },options.pause); }; if(!options.continuous && options.controlsFade){ $("a","#"+options.prevId).hide(); $("a","#"+options.firstId).hide(); }; }); };
})(jQuery);
前台代码:s
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>无标题页</title>
<script src="js/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="easyslider1.5/easySlider1.5.js" type="text/javascript"></script>
<script type="text/javascript"> $(document).ready(function(){ $("#slider").easySlider(); }); </script>
<style> body { margin: 0; padding: 40px; background: #fff; font: 80% Arial, Helvetica, sans-serif; color: #555; line-height: 180%; } h1 { font-size: 180%; font-weight: normal; } h2 { font-size: 160%; font-weight: normal; } h3 { font-size: 140%; font-weight: normal; } img { border: none; } pre { display: block; font: 12px "Courier New" , Courier, monospace; padding: 10px; border: 1px solid #bae2f0; background: #e3f4f9; margin: .5em 0; width: 500px; } /* Easy Slider */#slider ul, #slider li { margin: 0; padding: 0; list-style: none; } #slider li { width:696px;height:241px;overflow:hidden;} span#prevBtn { } span#nextBtn { } </style></head><body> <h1> 图片滚动Jquery插件演示</h1> <h2> 图片滚动对图像的非设计版本与默认设置</h2> <div id="slider"> <ul> <li> <img src="images/01.jpg" alt="Css Template Preview" /></li> <li> <img src="images/02.jpg" alt="Css Template Preview" /></li> <li> <img src="images/03.jpg" alt="Css Template Preview" /></li> <li> <img src="images/04.jpg" alt="Css Template Preview" /></li> <li> <img src="images/05.jpg" alt="Css Template Preview" /></li> </ul> </div> </body>
