本文實例講述了jQuery實現帶有上下控制按鈕的簡單多行滾屏效果代碼。分享給大家供大家參考。具體如下:
這里使用了jQuery插件來實現最簡單的多行文字滾屏效果,還帶有上下滾動控制按鈕,卷動速度,數值越大,速度越慢(毫秒),滾動的時間間隔是(毫秒),每次滾動的行數,默認為一屏,即父容器高度……
運行效果截圖如下:
在線演示地址如下:
http://demo.VeVB.COm/js/2015/jquery-up-down-scroll-src-style-codes/
具體代碼如下:
<!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>
希望本文所述對大家的jquery程序設計有所幫助。
新聞熱點
疑難解答