首页 > 语言 > JavaScript > 正文

jQuery插件scroll实现无缝滚动效果

2024-05-06 16:18:52
字体:
来源:转载
供稿:网友

今天给大家分享一款页面无缝滚动的jquery.scroll插件。 支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置,滚动鼠标液动条看下页面的切换效果。该插件适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗。

scroll滚动插件

支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置

默认配置参数可修改

$(".content").easysroll({ //默认配置参数 direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left numberr: "1", //每一次滚动数量 默认是1 delays:"1000",//完成一次动画所需时间 默认是1000等于1秒 scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒 fadein:false,//是否支持淡入或淡出 默认false enterStop:true //鼠标移入是否暂停滚动 默认是true })

html代码:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head lang="en"
  4. <meta charset="UTF-8"
  5. <title>滚动插件(支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置)</title> 
  6. <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script> 
  7. <script src="js/scroll.js" type="text/javascript"></script> 
  8. </head> 
  9. <style> 
  10. *{ margin: 0px; padding: 0px;} 
  11. .content{ width: 1010px; height:102px; overflow: hidden; border: #4e83c2 solid 1px; margin:50px auto; } 
  12. .content ul{list-style: none; margin: 0px; padding: 0px; } 
  13. .content ul li{ width: 100px; height: 100px; border:#ccc solid 1px; overflow: hidden;cursor: pointer;} 
  14. </style> 
  15. <body> 
  16. <h1>支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置</h1> 
  17. <div class="content"
  18. <ul type="box"
  19. <li><img src="uploads/allimg/150210/1-15021010125I64-lp.jpg"></li> 
  20. <li><img src="uploads/allimg/150210/1-1502100934032T-lp.png"></li> 
  21. <li><img src="uploads/allimg/150209/1-1502092312470-L.gif"></li> 
  22. <li><img src="uploads/allimg/150209/1-1502091243010-L.jpg"></li> 
  23. <li><img src="uploads/allimg/150208/1-15020Q549320-L.jpg"></li> 
  24. <li><img src="uploads/allimg/150204/1-150204143012445.jpg"></li> 
  25. <li><img src="uploads/150208/1-15020Q94340510.jpg"></li> 
  26. <li><img src="uploads/150207/1-15020GG54I43.jpg"></li> 
  27. <li><img src="uploads/allimg/131024/89.jpg"></li> 
  28. <li><img src="uploads/allimg/131024/85.png"></li> 
  29. <li><img src="uploads/allimg/131024/84.png"></li> 
  30. <li><img src="uploads/allimg/131024/83.jpg"></li> 
  31. <li><img src="uploads/allimg/131024/82.png"></li> 
  32. <li><img src="uploads/allimg/131024/81.png"></li> 
  33. <li><img src="uploads/allimg/131024/78.png"></li> 
  34. </ul> 
  35. </div> 
  36. <div> 
  37. $(".content").easysroll({<br> 
  38. //默认配置参数<br> 
  39. direction: "left"//滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left<br> 
  40. numberr: "1"//每一次滚动数量 默认是1<br> 
  41. delays:"1000",//完成一次动画所需时间 默认是1000等于1秒<br> 
  42. scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒<br> 
  43. fadein:false,//是否支持淡入或淡出 默认false<br> 
  44. enterStop:true//鼠标移入是否暂停滚动 默认是true<br> 
  45. <br> 
  46. })<br> 
  47. <br> 
  48. </div> 
  49. <script> 
  50. $(".content").easysroll({ 
  51. //默认配置参数 
  52. direction: "left"//滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left 
  53. numberr: "1"//每一次滚动数量 默认是1 
  54. delays:"1000",//完成一次动画所需时间 默认是1000等于1秒 
  55. scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒 
  56. fadein:false,//是否支持淡入或淡出 默认false 
  57. enterStop:true//鼠标移入是否暂停滚动 默认是true 
  58. }) 
  59. </script> 
  60. </body> 
  61. </html> 

JS核心代码

  1. (function ($) { 
  2. $.fn.easysroll= function(options) { 
  3. var parameter= { 
  4. direction: "left"
  5. numberr: "1"
  6. delays:"1000"
  7. scrolling: "1000"
  8. fadein: false
  9. enterStop:true 
  10. }; 
  11. var ops = $.extend(parameter,options); 
  12. var $this=$(this); 
  13. var _this=this
  14. var _time=null
  15. var obj=_this.find("[type='box']"); 
  16. var items=obj.find("li"); 
  17. var itemsleg=items.length; 
  18. var itemsW=items.outerWidth(true); 
  19. var itemsH=items.outerHeight(true); 
  20. var _direction=ops.direction; 
  21. var _numberr =ops.numberr; 
  22. var _delays=ops.delays; 
  23. var _scrolling =ops.scrolling; 
  24. var _fadein=ops.fadein; 
  25. var _enterStop=ops.enterStop; 
  26. if(_direction=="top" || _direction=="bottom"
  27. items.css({"float":"none"}); 
  28. obj.width(itemsW*itemsleg); 
  29. if(_direction=="bottom") { 
  30. obj.css("margin-top",-_numberr*itemsH); 
  31. }else if(_direction=="left" || _direction=="right"){ 
  32. items.css({"float":"left"}); 
  33. obj.width(itemsW*itemsleg); 
  34. if(_direction=="right") { 
  35. obj.css("margin-left",-_numberr*itemsW); 
  36. }else
  37. alert("您配置的滚动方向有误,请重新配置"); 
  38. return true
  39. function scroll(){ 
  40. if(_direction=="left"){ 
  41. obj.animate({"margin-left":-_numberr*itemsW},Number(_delays),function(){ 
  42. for (var i=0;i<_numberr;i++){ 
  43. obj.find("li").eq(0).appendTo(obj); 
  44. obj.css({"margin-left":0}) 
  45. if(_fadein){ 
  46. obj.find("li").eq(0).animate({"opacity":0},Number(_delays)); 
  47. obj.find("li").eq(itemsleg-1).css({"opacity":1}); 
  48. }); 
  49. }else if(_direction=="right"){ 
  50. obj.animate({"margin-left":0},Number(_delays),function(){ 
  51. for(var i=0;i<_numberr;i++){ 
  52. obj.find("li").eq(itemsleg-1).prependTo(obj); 
  53. }; 
  54. obj.css("margin-left",-_numberr*itemsW); 
  55. if(_fadein){ 
  56. obj.find("li").eq(0).animate({"opacity":1},Number(_delays)); 
  57. obj.find("li").eq(itemsleg-1).css({"opacity":0}); 
  58. }); 
  59. }else if(_direction=="top"){ 
  60. obj.animate({"margin-top":-_numberr*itemsH},Number(_delays),function(){ 
  61. for (var i=0;i<_numberr;i++){ 
  62. obj.find("li").eq(0).appendTo(obj); 
  63. obj.css({"margin-top":0}); 
  64. if(_fadein){ 
  65. obj.find("li").eq(0).animate({"opacity":0},Number(_delays)); 
  66. obj.find("li").eq(itemsleg-1).css({"opacity":1}); 
  67. }); 
  68. }else if(_direction=="bottom"){ 
  69. obj.animate({"margin-top":0},Number(_delays),function(){ 
  70. for(var i=0;i<_numberr;i++){ 
  71. obj.find("li").eq(itemsleg-1).prependTo(obj); 
  72. obj.css("margin-top",-_numberr*itemsH); 
  73. if(_fadein){ 
  74. obj.find("li").eq(0).animate({"opacity":1},Number(_delays)); 
  75. obj.find("li").eq(itemsleg-1).css({"opacity":0}); 
  76. }); 
  77. $this.hover(function(){ 
  78. if(_enterStop){ 
  79. clearInterval(_time); 
  80. },function(){ 
  81. _time= setInterval(scroll,_scrolling); 
  82. }).trigger('mouseleave'); 
  83. })(jQuery); 

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选