L'exemple de cet article décrit l'implémentation jQuery d'un simple code d'effet de défilement multiligne avec des boutons de contrôle haut et bas. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Le plug-in jQuery est utilisé ici pour obtenir l'effet de défilement de texte multiligne le plus simple. Il dispose également de boutons de contrôle de défilement vers le haut et vers le bas, plus la valeur est grande, plus la vitesse est lente (en millisecondes). l'intervalle de temps de défilement est de (millisecondes), le nombre de lignes défilées à chaque fois, par défaut un écran, qui correspond à la hauteur du conteneur parent...
La capture d'écran de l'effet en cours d'exécution est la suivante :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/jquery-up-down-scroll-src-style-codes/
Le code spécifique est le suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>用jQuery实现最简单的滚屏效果,加了上下按钮</title> <style type="text/css"> ul,li{margin:0;padding:0} #scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden} #scrollDiv li{height:25px;padding-left:10px;} </style> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript"> (function($){ $.fn.extend({ Scroll:function(opt,callback){ //参数初始化 if(!opt) var opt={}; var _btnUp = $("#"+ opt.up);//Shawphy:向上按钮 var _btnDown = $("#"+ opt.down);//Shawphy:向下按钮 var timerID; var _this=this.eq(0).find("ul:first"); var lineH=_this.find("li:first").height(), //获取行高 line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度 speed=opt.speed?parseInt(opt.speed,10):500; //卷动速度,数值越大,速度越慢(毫秒) timer=opt.timer //?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒) if(line==0) line=1; var upHeight=0-line*lineH; //滚动函数 var scrollUp=function(){ _btnUp.unbind("click",scrollUp); //Shawphy:取消向上按钮的函数绑定 _this.animate({ marginTop:upHeight },speed,function(){ for(i=1;i<=line;i++){ _this.find("li:first").appendTo(_this); } _this.css({marginTop:0}); _btnUp.bind("click",scrollUp); //Shawphy:绑定向上按钮的点击事件 }); } //Shawphy:向下翻页函数 var scrollDown=function(){ _btnDown.unbind("click",scrollDown); for(i=1;i<=line;i++){ _this.find("li:last").show().prependTo(_this); } _this.css({marginTop:upHeight}); _this.animate({ marginTop:0 },speed,function(){ _btnDown.bind("click",scrollDown); }); } //Shawphy:自动播放 var autoPlay = function(){ if(timer)timerID = window.setInterval(scrollUp,timer); }; var autoStop = function(){ if(timer)window.clearInterval(timerID); }; //鼠标事件绑定 _this.hover(autoStop,autoPlay).mouseout(); _btnUp.css("cursor","pointer").click( scrollUp ).hover(autoStop,autoPlay);//Shawphy:向上向下鼠标事件绑定 _btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay); } }) })(jQuery); $(document).ready(function(){ $("#scrollDiv").Scroll({line:4,speed:500,timer:3000,up:"btn1",down:"btn2"}); }); </script> </head> <body> <p>多行滚动演示:</p> <div id="scrollDiv"> <ul> <li><a href="" target="_blank">信言企业公司建站程序 v1</a></li> <li><a href="" target="_blank">EPffms 环保时代ASP家庭财务管理系统 v5.0</a></li> <li><a href="" target="_blank">jQuery两幅图像动画叠加的效果</a></li> <li><a href="" target="_blank">Android 滑动提示、菜单及列表等小程序源码</a></li> <li><a href="" target="_blank">Maxcms 马克斯电影视频系统 v4.0</a></li> <li><a href="" target="_blank">DedeCms v5.7 GBK</a></li> <li><a href="" target="_blank">DedeCms v5.7 UTF-8</a></li> <li><a href="" target="_blank">Piwik PHP站点流量统计系统 v1.2.1</a></li> </ul> </div> <span id="btn2">向上</span> <span id="btn1">向下</span> </body> </html>
J'espère que cet article sera utile à la conception de la programmation jquery de chacun.