• 【前端】仿消息推送到App提示


    效果:

    JS:

    (function ($) {
      $.fn.loopmsg = function (options, param) {
         if (typeof options == 'string') {
                return $.fn.loopmsg.methods[options](this, param);
            }
           options = $.extend({}, $.fn.loopmsg.defaults, options || {});

       var dom = $(document);

        if (options.tmplHtml) {
        dom.find('body').append(options.tmplHtml);
      }else{
        alert('参数错误!');
      }

      $.fn.loopmsg.methods['doLoop'](this, options);
    }

       $.fn.loopmsg.methods = {
    randomSuff: function(jq, options){
    if(options.suffData.length == 0){
    options.suffData = options.resSuff, options.resSuff = [ ];
    }
    var arr = options.suffData, result = options.resSuff;
    console.log(arr);console.log(result);

    var ran = Math.floor(Math.random() * (arr.length));
    var tmp = arr[ran];
    options.resSuff.push(arr[ran]);
    options.suffData[ran] = options.suffData[arr.length - 1];
    options.suffData = options.suffData.slice(0, arr.length - 1);
    console.log(tmp);
    return tmp;
    },
    randomDoct: function(jq, options){
    if(options.doctData.length == 0){
    options.doctData = options.doctSuff, options.doctSuff = [ ];
    }
    var arr = options.doctData, result = options.doctSuff;
    console.log(arr);console.log(result);

    var ran = Math.floor(Math.random() * (arr.length));
    var tmp = arr[ran];
    options.doctSuff.push(arr[ran]);
    options.doctData[ran] = options.doctData[arr.length - 1];
    options.doctData = options.doctData.slice(0, arr.length - 1);
    console.log(tmp);
    return tmp;
    },
        doLoop: function (jq, options) {
    var _loopdiv = $(document).find('#p_yuyue');
           timer = setInterval(function(){
    var _suffinfo = $.fn.loopmsg.methods['randomSuff'](jq, options);
    var _doctinfo = $.fn.loopmsg.methods['randomDoct'](jq, options);
    var _msg = _suffinfo+''+options.replace+''+options.placeholder+''+_doctinfo+'专家号';
    _loopdiv.addClass('isshow').children('p').html(_msg).end().fadeTo(3000, 1).delay(1000).fadeTo(3000, 0, function(){
    _loopdiv.removeClass('isshow').children('p').html('');
    });
    }, parseInt(options.intervalTime));
        }
    };

       $.fn.loopmsg.defaults = {
      tmplHtml: '<style>#p_yuyue {position: absolute; top:0; display:none;}#p_yuyue p{line-height:2.5rem; background-color:rgba(0,0,0,0.8); color:#fff; padding:0 1rem; border-radius:0.4rem;}.isshow {display:!none;}</style><div id="p_yuyue"><p></p></div>',
         replace: '**',
      intervalTime: 10000,
         suffData: [], //患者
      resSuff: [],
         doctData: [], //医生
      doctSuff: [],
      doctName: '王医生',
         placeholder: '已成功预约'
       };
    })(jQuery);

    HTML:

    <script>
    $(function(){
      $(document).loopmsg({
        suffData: ['章','王','邢','刘','李','石'],
        doctData: ['王医生','张医生','邢医生','刘主任']
      });
    });
    </script>

  • 相关阅读:
    基于 HTML5 + WebGL 实现的垃圾分类系统
    B/S 端基于 HTML5 + WebGL 的 VR 3D 机房数据中心可视化
    基于 Web 端 3D 地铁站可视化系统
    HTML5 + WebGL 实现的垃圾分类系统
    基于HTML5 WebGL的工业化3D电子围栏
    iOS 不支持 PWA,那又怎么样?
    PWA 入门: 写个非常简单的 PWA 页面
    iOS UTI
    canOpenURL: failed for URL: "weixin://app/wx 问题解决方式
    iOS扩大UIButton按钮的可点击区域
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8127037.html
Copyright © 2020-2023  润新知