Mulla on tämmöinen kuvaslide, joka kulkee oikealta vasemmalle. Halusin niin, että kun hiirellä menen tietyn slidessä menevän kuvan päälle, niin koko sliden pysähtyy siihen asti kunnes menen hiirellä pois sen tietyn kuvan päältä (tai suurennan ko kuvan lightbox-efektillä)...
Miten tuon pysätyksen hoidan? Ja tässä alla slidessä olevaa koodia...
<div id="slider"> <ul> <li><a href="images/slidebritti.jpg" rel="lightbox" title="Kutsu (Lapuan brittimotoristit)."><img src="images/slidebritti_thumbs2.jpg" alt="Kutsu" border="Kutsu" /></a></li> <li><a href="images/slidesalaatti.jpg" rel="lightbox" title="Tuotepakkaussuunnittelu."><img src="images/slidesalaatti_thumbs.jpg" alt="Tuotepakkaukset ja suunnittelu" border="0" /></a></li> <li><a href="images/slideficus.jpg" rel="lightbox" title="Mainos."><img src="images/slideficus_thumbs.jpg" alt="Mainossuunnittelu" border="0" /></a></li> <li><a href="images/slidesahkosipa_yht.png" rel="lightbox" title="Logo ja www-sivustot."><img src="images/slidesahko_thumbs.jpg" alt="Logot ja www-sivut" border="0" /></a></li> </ul> </div>
Mod. lisäsi kooditagit.
Viestistäsi puutuu tärkein koodi eli varsinainen kuvasliden toteutus. Ilman sitä on hyvin hankala auttaa.
Tässä itse easyslider.js:n koodia
/* * Easy Slider 1.7 - jQuery plugin * written by Alen Grakalic * http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding * * Copyright (c) 2009 Alen Grakalic (http://cssglobe.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * Built for jQuery library * http://jquery.com * */ /* * markup example for $("#slider").easySlider(); * * <div id="slider"> * <ul> * <li><img src="images/01.jpg" alt="" /></li> * <li><img src="images/02.jpg" alt="" /></li> * <li><img src="images/03.jpg" alt="" /></li> * <li><img src="images/04.jpg" alt="" /></li> * <li><img src="images/05.jpg" alt="" /></li> * </ul> * </div> * */ (function($) { $.fn.easySlider = function(options){ // default configuration properties var defaults = { prevId: 'prevBtn', prevText: 'Previous', nextId: 'nextBtn', nextText: 'Next', controlsShow: false, controlsBefore: '', controlsAfter: '', controlsFade: false, firstId: 'firstBtn', firstText: 'First', firstShow: false, lastId: 'lastBtn', lastText: 'Last', lastShow: false, vertical: false, speed: 3000, auto: true, pause: 2500, continuous: true, numeric: false, numericId: 'controls' }; 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(); var clickable = true; 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.continuous){ $("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px")); $("ul", obj).append($("ul li:nth-child(2)", obj).clone()); $("ul", obj).css('width',(s+1)*w); }; if(!options.vertical) $("li", obj).css('float','left'); if(options.controlsShow){ var html = options.controlsBefore; if(options.numeric){ html += '<ol id="'+ options.numericId +'"></ol>'; } else { 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); }; if(options.numeric){ for(var i=0;i<s;i++){ $(document.createElement("li")) .attr('id',options.numericId + (i+1)) .html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>') .appendTo($("#"+ options.numericId)) .click(function(){ animate($("a",$(this)).attr('rel'),true); }); }; } else { $("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 setCurrent(i){ i = parseInt(i)+1; $("li", "#" + options.numericId).removeClass("current"); $("li#" + options.numericId + i).addClass("current"); }; function adjust(){ if(t>ts) t=0; if(t<0) t=ts; if(!options.vertical) { $("ul",obj).css("margin-left",(t*w*-1)); } else { $("ul",obj).css("margin-left",(t*h*-1)); } clickable = true; if(options.numeric) setCurrent(t); }; function animate(dir,clicked){ if (clickable){ clickable = false; var ot = t; switch(dir){ case "next": t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1; break; case "prev": t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1; break; case "first": t = 0; break; case "last": t = ts; break; default: t = dir; break; }; var diff = Math.abs(ot-t); var speed = diff*options.speed; if(!options.vertical) { p = (t*w*-1); $("ul",obj).animate( { marginLeft: p }, { queue:false, duration:speed, complete:adjust } ); } else { p = (t*h*-1); $("ul",obj).animate( { marginTop: p }, { queue:false, duration:speed, complete:adjust } ); }; 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.numeric) setCurrent(0); if(!options.continuous && options.controlsFade){ $("a","#"+options.prevId).hide(); $("a","#"+options.firstId).hide(); }; }); }; })(jQuery);
Mod. korjasi kooditagit, JS ei ole HTML:ää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.