当前位置:Gxlcms > JavaScript > jQuery焦点图轮播效果实现方法

jQuery焦点图轮播效果实现方法

时间:2021-07-01 10:21:17 帮助过:3人阅读

本文实例讲述了jQuery焦点图轮播效果实现方法。分享给大家供大家参考,具体如下:

前面一篇《JS实现焦点图轮播效果的方法详解》详细介绍了JS实现焦点图轮播效果的步骤,这里来分析一下jQuery的相关实现技巧。

核心代码如下:

  1. $(function(){
  2. var $next=$(".right");
  3. var $prev=$(".left");
  4. var $list_num=$(".list-num a");
  5. var $banner=$(".banner");
  6. var $list_banner=$(".list-banner");
  7. var index=1;
  8. var timer;
  9. var $list_img_f=$(".list-banner li:first");
  10. var $list_img_l=$(".list-banner li:last");
  11. $list_img_f.clone(true).appendTo($list_banner);
  12. $list_img_l.clone(true).prependTo($list_banner);
  13. function showDot($obj){
  14. $obj.addClass("hover").siblings().removeClass("hover");
  15. }
  16. function startMove(i){
  17. $list_banner.stop().animate({left:-i*624},300,function(){
  18. if(i<1){
  19. showDot($list_num.eq(3));
  20. }
  21. else if(i>4){
  22. showDot($list_num.eq(0));
  23. }
  24. else{
  25. showDot($list_num.eq(i-1));
  26. }
  27. if(i<1){
  28. $list_banner.css("left",-2496);
  29. index=4;
  30. }
  31. else if(i>4){
  32. $list_banner.css("left",-624);
  33. index=1;
  34. }
  35. });
  36. }
  37. function autoPlay(){
  38. timer=setInterval(function(){
  39. $next.click();
  40. },2000);
  41. }
  42. autoPlay();
  43. $next.click(function(){
  44. if(!$list_banner.is(":animated")){ //如果先index++再执行startMove(index);会有点问题,点的快某个点会跳过
  45. startMove(++index);
  46. }
  47. });
  48. $prev.click(function(){
  49. if(!$list_banner.is(":animated")){
  50. startMove(--index);
  51. }
  52. });
  53. $list_num.click(function(){
  54. var i=$(this).index()+1;
  55. index=i;
  56. startMove(i);
  57. });
  58. });

和js的区别:用.animate()方法代替js里要算的速度,每次滑行距离以及定时器setTimeout

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

人气教程排行