这是我正在使用的(非常简单的)JS代码:
@H_404_6@ $(document).ready(function() { $(".button-list .next").click(function() { project = $(this).parents().filter(".projektweb").eq(0); currentimg = project.find(".images-list li.current"); nextimg = currentimg.next(); firstimg = project.find(".images-list li:first"); currentimg.removeClass("current"); if (nextimg.is("li")) nextimg.addClass("current"); else firstimg.addClass("current"); return false; }); $(".button-list .prev").click(function() { project = $(this).parents().filter(".projektweb").eq(0); currentimg = project.find(".images-list li.current"); previmg = currentimg.prev(); lastimg = project.find(".images-list li:last"); currentimg.removeClass("current"); if (previmg.is("li")) previmg.addClass("current"); else lastimg.addClass("current"); return false; }); });
这是图像列表的HTML代码如下所示:
@H_404_6@<ul class="images-list"> <li class="current"><img src="img/1.jpg" alt="" /></li> <li><img src="img/1b.jpg" alt="" /></li> </ul> <ul class="button-list"> <li><a class="button prev" href="#">←</a></li> <li><a class="button next" href="#">→</a></li></ul>
CSS:
@H_404_6@.images-list { height: 460px; list-style-type:none; float:left; width: 460px; overflow:hidden; position:relative; } .images-list img { height: 460px; width: 460px; display:block; } .images-list li { display:none; } .images-list li.current { display:block; }
我想做的是在图像来回移动时对其进行动画处理-现在它们才刚刚出现,这很好,但是再加上一些糖果就可以了.
有人可以帮我从这里出去吗?甚至有可能这样做吗?谢谢!!
最佳答案
我为你赚了a demo基本上,我使用jQuery animate()添加了一些左右滚动动画
您可以沿任何方向对图像进行动画处理,但是如果您想获得更多效果,可以按照Matt的建议使用Cycle插件.
额外的CSS
@H_404_6@.images-list li.animating { position: absolute; top: 0; left: 0; display: block; }
脚本
@H_404_6@$(document).ready(function() { // *** Constants *** var project = $('.projektweb'); animationTime = 500,// scroll time in milliseconds animationWidth = 480; // image width = 460 + 20px padding between images leftPadding = parseInt( project.find('ul').css('padding-left'),10); // padding due to UL // *** Next image *** $('.button-list .next').click(function() { currentimg = project.find('li.current'); nextimg = (currentimg.next().is('li')) ? currentimg.next() : project.find('.images-list li:first'); currentimg .removeClass('current') .addClass('animating') .css('left',leftPadding) .animate({ left: '-=' + animationWidth },animationTime,function(){ $(this).removeClass('animating'); }); nextimg .addClass('animating') .css('left',(animationWidth + leftPadding) + 'px') .animate({ left: 0 + leftPadding },function(){ $(this).removeClass('animating').addClass('current'); }) return false; }); // *** Prev image *** $('.button-list .prev').click(function() { currentimg = project.find('.images-list li.current'); previmg = (currentimg.prev().is("li")) ? currentimg.prev() : project.find('.images-list li:last'); currentimg .addClass('animating') .css('left',leftPadding) .removeClass("current") .animate({ left: '+=' + animationWidth },function(){ $(this).removeClass('animating'); }); previmg .addClass('animating') .css('left','-' + (animationWidth) + 'px') .animate({ left: '+=' + (animationWidth + leftPadding) },function(){ $(this).removeClass('animating').addClass('current'); }) return false; }); });