jQuery實現中獎播報功能(讓文字滾動起來) 簡單設定數值即可
阿新 • • 發佈:2020-03-24
在很多場景中,我們需要使用到中獎資訊播報,或者一些文字資訊迴圈滾動播報,在結合實際的開發中,然後也百度查詢了相關的知識點,現在送上jQuery實現文字滾動。
1:html程式碼檔案
相關使用說明也在頁面相關位置標註啦
<!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" xml:lang="zh"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>文字滾動</title> <link rel="stylesheet" type="text/css" href="css/style.css" rel="external nofollow" > <script src="jquery-1.9.1.min.js"></script> <script src="jquery.scroll.js"></script> <script src="txtscroll.js"></script> <style> .new_trade .new_trade_body .yl{margin-top:4px} .fix_tradebottom{clear:both;background:#222; position:fixed;width:100%;left:0;z-index:12;bottom:0} .trade_win{height:26px;line-height:26px;width:54%;text-align:center;color:#646464;font-size:12px;border-top: 1px solid #c8c8c8;border-bottom: 1px solid #c8c8c8;background:#f3f3f3;} #trade_win{height:26px;line-height:26px;width:100%;overflow:hidden;} .trade_win ul{height:26px;line-height:26px} .trade_win li{width:100%;display:block;} .trade_win li span{ no-repeat;background-position: 0px 3px;background-size:13px 10px; padding-left:18px;} </style> </head> <h2 style="margin-left: 426px;">縱向滾動</h2> <div class="trade_win" style="margin-left: 426px;"> <div id="trade_win"> <ul> <li><span>恭喜道1中獎 825.00元</span></li> <li><span>恭喜道2中獎 825.00元</span></li> <li><span>恭喜道3中獎 825.00元</span></li> <li><span>恭喜道4中獎 825.00元</span></li> <li><span>恭喜道5中獎 825.00元</span></li> <li><span>恭喜道6中獎 825.00元</span></li> <li><span>恭喜道7中獎 825.00元</span></li> </ul> </div> </div>
<script> $(document).ready(function(){ //speed:滾動的速度 數值越大速度越慢。 timer:資料停留時間 數值越大停留時間越久 $('#trade_win').Scroll({ line: 1,speed: 1000,timer: 1500 }); }) </script> <div class="demo"> <h2>橫向滾動</h2> <div class="demolist"> <ul class="ul"> <li> <h4>示例1 - 無滾動效果</h4> <div class="demo-cont"> <div class="txt-scroll txt-scroll-default"> <div class="scrollbox"> <div class="txt"> 微信小程式端有關於一篇文章生成一張海報圖片,用於使用者儲存之後分享,實際開發的過程中遇到的一些問題如下 </div> </div> </div> </div> <div class="jsset"> <pre> $('.txt-scroll').txtscroll({ 'speed': 50 }); //說明:文字長度不夠無滾動效果 </pre> </div> </li> <li> <h4>示例2 - 預設引數配置</h4> <div class="demo-cont"> <div class="txt-scroll txt-scroll-default"> <div class="scrollbox"> <div class="txt"> 微信小程式端有關於一篇文章生成一張海報圖片,用於使用者儲存之後分享,實際開發的過程中遇到的一些問題如下.微信小程式端有關於一篇文章生成一張海報圖片,用於使用者儲存之後分享,實際開發的過程中遇到的一些問題如下.微信小程式端有關於一篇文章生成一張海報圖片,用於使用者儲存之後分享,實際開發的過程中遇到的一些問題如下 </div> </div> </div> </div> <div class="jsset"> <pre> $('.txt-scroll').txtscroll({ 'speed': 50 }); </pre> </div> </li> <li> <h4>示例2 - 自定義引數配置</h4> <div class="demo-cont"> <div class="txt-scroll txt-scroll-curs"> <div class="scrollbox"> <div class="txt"> 微信小程式端有關於一篇文章生成一張海報圖片,用於使用者儲存之後分享,實際開發的過程中遇到的一些問題如下.微信小程式端有關於一篇文章生成一張海報圖片,用於使用者儲存之後分享,實際開發的過程中遇到的一些問題如下 </div> </div> </div> </div> <div class="jsset"> <pre> $('.txt-scroll').txtscroll({ 'speed': 20 }); </pre> </div> </li> </ul> </div> </div> <script> //預設案例 window.onload = function () { $('.txt-scroll-default').txtscroll({ 'speed': 50 }); }; //自定義引數案例 $('.txt-scroll-curs').txtscroll({ 'speed': 10 }); </script> </body> </html>
2:關鍵的JS 檔案
(function($){ $.fn.extend({ Scroll:function(opt,callback){ if(!opt) var opt={}; var _btnUp = $("#"+ opt.up); var _btnDown = $("#"+ opt.down); 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),//每次滾動的行數,預設為一屏,即父容器高度 auto=opt.auto!=null?opt.auto:true,//是否自動滾動,預設自動 cycle=opt.cycle!=null?opt.cycle:true,//是否迴圈滾動,預設迴圈 speed=opt.speed!=null?parseInt(opt.speed,10):500; //捲動速度,數值越大,速度越慢(毫秒) timer=opt.timer!=null?opt.timer:3000; //滾動的時間間隔(毫秒) if(line==0) line=1; var upHeight=0-line*lineH; var liCount=_this.find("li").length;//LI的總數 var showCount=parseInt(this.height()/lineH);//顯示出來的LI數量 var currentCount=showCount; var scrollUp=function(){ if(!cycle && currentCount>=liCount) return; _btnUp.unbind("click",scrollUp); _this.animate({ marginTop:upHeight },speed,function(){ for(i=1;i<=line;i++){ if(!cycle && currentCount>=liCount) break; currentCount++; _this.find("li:first").appendTo(_this); } _this.css({marginTop:0}); _btnUp.bind("click",scrollUp); }); } var scrollDown=function(){ if(!cycle && currentCount<=showCount) return; _btnDown.unbind("click",scrollDown); for(i=1;i<=line;i++){ if(!cycle && currentCount<=showCount) break; currentCount--; _this.find("li:last").show().prependTo(_this); } _this.css({marginTop:upHeight}); _this.animate({ marginTop:0 },function(){ _btnDown.bind("click",scrollDown); }); } var autoPlay = function(){ if(auto) { if(timer>0) 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); _btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay); } }) })(jQuery);
總結
到此這篇關於jQuery實現中獎播報(讓文字滾動起來) 簡單設定數值即可的文章就介紹到這了,更多相關jquery 中獎播報 滾動內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!