在很多场景中,我们需要使用到中奖信息播报,或者一些文本信息循环滚动播报,在结合实际的开发中,然后也百度查询了相关的知识点,现在送上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="/UploadFiles/2021-04-02/jquery-1.9.1.min.js"><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"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 },speed,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);
总结