jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可

在很多场景中,我们需要使用到中奖信息播报,或者一些文本信息循环滚动播报,在结合实际的开发中,然后也百度查询了相关的知识点,现在送上jQuery实现文本滚动。

1:html代码文件

     相关使用说明也在页面相关位置标注啦





文本滚动


 
 


纵向滚动

  • 恭喜道1中奖 825.00元
  • 恭喜道2中奖 825.00元
  • 恭喜道3中奖 825.00元
  • 恭喜道4中奖 825.00元
  • 恭喜道5中奖 825.00元
  • 恭喜道6中奖 825.00元
  • 恭喜道7中奖 825.00元

横向滚动

  • 示例1 - 无滚动效果

    微信小程序端有关于一篇文章生成一张海报图片,用于用户保存之后分享,实际开发的过程中遇到的一些问题如下
    $('.txt-scroll').txtscroll({ 'speed': 50 });
    //说明:文本长度不够无滚动效果
    
  • 示例2 - 默认参数配置

    微信小程序端有关于一篇文章生成一张海报图片,用于用户保存之后分享,实际开发的过程中遇到的一些问题如下.微信小程序端有关于一篇文章生成一张海报图片,用于用户保存之后分享,实际开发的过程中遇到的一些问题如下.微信小程序端有关于一篇文章生成一张海报图片,用于用户保存之后分享,实际开发的过程中遇到的一些问题如下
    $('.txt-scroll').txtscroll({ 'speed': 50 });
    
  • 示例2 - 自定义参数配置

    微信小程序端有关于一篇文章生成一张海报图片,用于用户保存之后分享,实际开发的过程中遇到的一些问题如下.微信小程序端有关于一篇文章生成一张海报图片,用于用户保存之后分享,实际开发的过程中遇到的一些问题如下
    $('.txt-scroll').txtscroll({ 'speed': 20 });
    

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
   },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);

jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可_第1张图片

总结

到此这篇关于jQuery实现中奖播报(让文本滚动起来) 简单设置数值即可的文章就介绍到这了,更多相关jquery 中奖播报 滚动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可)