效果:

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>

【前端】仿消息推送到App提示的更多相关文章

  1. 如何用好消息推送为app拉新、留存、促活

    作为移动端APP产品运营最重要的运营手段,JPush消息推送被越来越多的APP厂商所重视,在信息泛滥的移动互联网时代,手机APP应用安装得越来越多,小小的手机屏幕每天收到的消息推送也越来越多,站在用户 ...

  2. python 全栈开发,Day131(向app推送消息,玩具端消息推送)

    先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.4.zip 注意:由于涉及到 ...

  3. APP消息推送是否进入消息中心和click、receive事件分析

    前端时间研究APP消息推送的机制,由于机型.版本的碎片化,消息推送的机制不太好理解,所以总结下,放在博文里以备后续查阅. 安卓Android系统的消息推送:     安卓 推送方式 应用状态 类型 消 ...

  4. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  5. IOS开发之实现App消息推送

    转自:http://blog.csdn.net/shenjie12345678/article/details/41120637 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps: ...

  6. IOS开发之实现App消息推送(最新)

    好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多 ...

  7. IOS8开发之实现App消息推送

    第一部分 Apple Push Notification Service 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. ...

  8. APP的消息推送(极光推送)

    APP的消息推送,使用的第三方平台是极光推送 简单案例(以Thinkphp为例): 1.下载下载PHPSDK 2.把PHPSDK目录下的jpush-api-php-client-3.5.1\src\J ...

  9. 消息提示和消息推送插件toastr

    http://www.jq22.com/yanshi476 比较棒的消息提示和消息推送插件toastr function myIntervalshow() { // showPopup1(300, 1 ...

随机推荐

  1. vue + typescript,定义全局变量或者方法

    众所周知,在 vue中,如果想定义一个全局变量的方法很简单,直接在 vue的原型上挂载属性或者方法即可. 但是,加上了typescript之后, Vue.prototype.$xxx = xxx  这 ...

  2. js倒计时 手机休眠时 时间不进行减少

    http://www.111cn.net/wy/js-ajax/94218.htm 手机版网页js倒计时存在的问题与解决的方法 www.111cn.net 更新:2015-09-16 编辑:kp123 ...

  3. 欧姆龙FinsTCP与FinsUDP协议解析 —— 利用Wireshark对报文逐字节进行解析详细解析附含报文模拟器等

    前言 – Fins欧姆龙这个协议网上极少有相关的模拟器.Tcp的这一块倒是有但是Udp的基本都是不可用 1. Fins协议结构也很简单 协议分为两种 一种tcp一种udp 2. Tcp比Udp的报文会 ...

  4. MySQL(3)— 数据管理

    三.MySQL数据管理(DML) 3-1.外键(了解即可) ALTER TABLE `aa表名` ADD CONSTRAINT `约束名` FOREIGN KEY (字段名) REFERENCES ` ...

  5. Hyperledger Fabric——balance transfer(五)执行交易

    链码安装和实例化之后就可以调用chaincode执行交易,下面分析简单的账户转账操作是如何完成的. 源码分析 1.首先看app.js的路由函数 app.post('/channels/:channel ...

  6. LightOJ1236

    题目大意: 给你一个 n,请你找出共有多少对(i,j)满足 lcm(i,j) = n (i<=j) . 解题思路: 我们利用算术基本定理将 n,i,j 进行分解: n = P1a1 * P2a2 ...

  7. 计划任务工具-windows

    计划任务工具根据自己设定的具体时间,频率,命令等属性来规定所要执行的计划. 代码 # -*- coding: utf-8 -*- """ Module implement ...

  8. $工具, 属性, TAB点击切换

    $工具方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  9. Druid数据库连接池的使用

    Druid  阿里提供的数据库连接池,集以上连接池优点于一身,开发使用此连接池 使用配置文件方式获取Druid数据库连接池 TestDruid package com.aff.connection; ...

  10. 离散的差分进化Discrete DE

    一般的差分算法的变异规则:Xmutation=Xr1+F(Xr2-Xr3),F为缩放因子, 离散差分进化DDE的变异规则:设每个解为K个元素的集合,则Xr2-Xr3:求出Xr2与Xr3有m个共同元素, ...