スクロールプラグイン
上下左右、フェードイン・アウト、スクロール時間設定、アニメーション時間設定、マウス通過時に停止するかどうかの設定をサポート
デフォルトの構成パラメータは変更可能です
$(".content").easyroll({ //デフォルトの設定パラメータの方向: "left", //スクロール方向 左 (左) 右 (右) 上 (上) 下 (下) デフォルトの左番号: " 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);
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。