스크롤 플러그인
위, 아래, 왼쪽 및 오른쪽, 페이드 인 및 아웃, 스크롤 시간 설정, 애니메이션 시간 설정, 마우스 통과 시 설정 중지 여부 지원
기본 구성 매개변수를 수정할 수 있습니다
$(".content").easyroll({ //기본 구성 매개변수 방향: "왼쪽", //스크롤 방향 왼쪽(왼쪽) 오른쪽(오른쪽) 위쪽(위) 아래쪽(아래) 기본 왼쪽 번호r: " 1", //각 스크롤의 기본 수는 1 지연입니다: "1000", //애니메이션을 완료하는 데 필요한 기본 시간은 1000이며, 이는 1초 스크롤과 같습니다: "1000", //기본 시간 간격 각 애니메이션의 1000은 1초와 같습니다. fadein:false,//페이드 인 또는 페이드 아웃을 지원하는지 여부, 기본값은 false입니다. enterStop:true //스크롤을 일시 중지하기 위해 마우스가 이동하는지 여부, 기본값은 true입니다. })
html 코드:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>滚动插件(支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置)</title> <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script> <script src="js/scroll.js" type="text/javascript"></script> </head> <style> *{ margin: 0px; padding: 0px;} .content{ width: 1010px; height:102px; overflow: hidden; border: #4e83c2 solid 1px; margin:50px auto; } .content ul{list-style: none; margin: 0px; padding: 0px; } .content ul li{ width: 100px; height: 100px; border:#ccc solid 1px; overflow: hidden;cursor: pointer;} </style> <body> <h1>支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置</h1> <div class="content"> <ul type="box"> <li><img src="uploads/allimg/150210/1-15021010125I64-lp.jpg"></li> <li><img src="uploads/allimg/150210/1-1502100934032T-lp.png"></li> <li><img src="uploads/allimg/150209/1-1502092312470-L.gif"></li> <li><img src="uploads/allimg/150209/1-1502091243010-L.jpg"></li> <li><img src="uploads/allimg/150208/1-15020Q549320-L.jpg"></li> <li><img src="uploads/allimg/150204/1-150204143012445.jpg"></li> <li><img src="uploads/150208/1-15020Q94340510.jpg"></li> <li><img src="uploads/150207/1-15020GG54I43.jpg"></li> <li><img src="uploads/allimg/131024/89.jpg"></li> <li><img src="uploads/allimg/131024/85.png"></li> <li><img src="uploads/allimg/131024/84.png"></li> <li><img src="uploads/allimg/131024/83.jpg"></li> <li><img src="uploads/allimg/131024/82.png"></li> <li><img src="uploads/allimg/131024/81.png"></li> <li><img src="uploads/allimg/131024/78.png"></li> </ul> </div> <div> $(".content").easysroll({<br> //默认配置参数<br> direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left<br> numberr: "1", //每一次滚动数量 默认是1<br> delays:"1000",//完成一次动画所需时间 默认是1000等于1秒<br> scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒<br> fadein:false,//是否支持淡入或淡出 默认false<br> enterStop:true; //鼠标移入是否暂停滚动 默认是true<br> <br> })<br> <br> </div> <script> $(".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 }) </script> </body> </html>
JS 핵심 코드
(function ($) { $.fn.easysroll= function(options) { var parameter= { direction: "left", numberr: "1", delays:"1000", scrolling: "1000", fadein: false, enterStop:true }; var ops = $.extend(parameter,options); var $this=$(this); var _this=this; var _time=null; var obj=_this.find("[type='box']"); var items=obj.find("li"); var itemsleg=items.length; var itemsW=items.outerWidth(true); var itemsH=items.outerHeight(true); var _direction=ops.direction; var _numberr =ops.numberr; var _delays=ops.delays; var _scrolling =ops.scrolling; var _fadein=ops.fadein; var _enterStop=ops.enterStop; if(_direction=="top" || _direction=="bottom") { items.css({"float":"none"}); obj.width(itemsW*itemsleg); if(_direction=="bottom") { obj.css("margin-top",-_numberr*itemsH); } }else if(_direction=="left" || _direction=="right"){ items.css({"float":"left"}); obj.width(itemsW*itemsleg); if(_direction=="right") { obj.css("margin-left",-_numberr*itemsW); } }else{ alert("您配置的滚动方向有误,请重新配置"); return true; } function scroll(){ if(_direction=="left"){ obj.animate({"margin-left":-_numberr*itemsW},Number(_delays),function(){ for (var i=0;i<_numberr;i++){ obj.find("li").eq(0).appendTo(obj); } obj.css({"margin-left":0}) if(_fadein){ obj.find("li").eq(0).animate({"opacity":0},Number(_delays)); obj.find("li").eq(itemsleg-1).css({"opacity":1}); } }); }else if(_direction=="right"){ obj.animate({"margin-left":0},Number(_delays),function(){ for(var i=0;i<_numberr;i++){ obj.find("li").eq(itemsleg-1).prependTo(obj); }; obj.css("margin-left",-_numberr*itemsW); if(_fadein){ obj.find("li").eq(0).animate({"opacity":1},Number(_delays)); obj.find("li").eq(itemsleg-1).css({"opacity":0}); } }); }else if(_direction=="top"){ obj.animate({"margin-top":-_numberr*itemsH},Number(_delays),function(){ for (var i=0;i<_numberr;i++){ obj.find("li").eq(0).appendTo(obj); } obj.css({"margin-top":0}); if(_fadein){ obj.find("li").eq(0).animate({"opacity":0},Number(_delays)); obj.find("li").eq(itemsleg-1).css({"opacity":1}); } }); }else if(_direction=="bottom"){ obj.animate({"margin-top":0},Number(_delays),function(){ for(var i=0;i<_numberr;i++){ obj.find("li").eq(itemsleg-1).prependTo(obj); } obj.css("margin-top",-_numberr*itemsH); if(_fadein){ obj.find("li").eq(0).animate({"opacity":1},Number(_delays)); obj.find("li").eq(itemsleg-1).css({"opacity":0}); } }); } } $this.hover(function(){ if(_enterStop){ clearInterval(_time); } },function(){ _time= setInterval(scroll,_scrolling); }).trigger('mouseleave'); } })(jQuery);
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.