toast.js
来源:互联网 发布:网络电信诈骗 编辑:程序博客网 时间:2024/06/07 02:14
toast.js
/** * toast 一般用于操作成功时的提示场景 * @param {string} content toast的文字 * @param {Object|function=} options 配置项或回调 * @param {number=} [options.duration=3000] 多少毫秒后关闭toast * @param {function=} options.callback 关闭后的回调 * @param {string=} options.className 自定义类名 * * @example * Toast('操作成功', 3000); * Toast('操作成功', { * duration: 3000, * className: 'custom-classname', * callback: function(){ console.log('close') } * }); */(function(global,factory){ if(typeof define === 'function' && define.amd){ define(function(){ return factory(); }); }else if(typeof module !== 'undefined' && module.exports){ module.exports = factory(); }else{ global.Toast = factory(global); }}(typeof window !== 'undefined' ? window : this,function(win){ var _sington; var toast = function(content, options){ var style = '.ui-toast{position:fixed;z-index:5000;width:7.6em;top:180px;left:50%;margin-left:-3.8em;background:rgba(17,17,17,0.7);text-align:center;border-radius:5px;color:#FFFFFF;}.ui-toast__content{padding:12px;font-size:16px;}.ui-mask{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,0.6);}.ui-mask_transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0;}@-webkit-keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.ui-animate-fade-in{-webkit-animation:fadeIn ease .3s forwards;animation:fadeIn ease .3s forwards;}@-webkit-keyframes fadeOut{from{opacity:1;}to{opacity:0;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}.ui-animate-fade-out{-webkit-animation:fadeOut ease .3s forwards;animation:fadeOut ease .3s forwards;}'; $('head').append('<style type="text/css">'+style+'</style>'); if(_sington) return _sington; if (typeof options === 'number') { options = { duration: options }; } if (typeof options === 'function') { options = { callback: options }; } options = $.extend({ content: content, duration: 3000, callback: function(){}, className: '' }, options); var contentHtml = ""; if(options.content){ contentHtml = '<p class="ui-toast__content">'+options.content+'</p>'; } const toastWrap = '<div class="'+options.className+'">'+ ' <div class="ui-mask_transparent"></div>'+ ' <div class="ui-toast">'+ contentHtml+ ' </div>'+ ' </div>'+ '</div>'; const $toastWrap = $(toastWrap); const $toast = $toastWrap.find('.ui-toast'); const $mask = $toastWrap.find('.ui-mask'); $('body').append($toastWrap); // 不能直接把.ui-animate-fade-in加到$dialog,会导致mask的z-index有问题 $mask.addClass('ui-animate-fade-in'); $toast.addClass('ui-animate-fade-in'); setTimeout(function(){ $mask.addClass("ui-animate-fade-out"); $toast.addClass('ui-animate-fade-out') .on('animationend webkitAnimationEnd', function(){ $toastWrap.remove(); _sington = false; options.callback(); }) }, options.duration); _sington = $toastWrap[0]; return _sington; }; return toast;}));
toast.less
.ui-toast{ position:fixed; z-index:5000; width:7.6em; top:180px; left:50%; margin-left:-3.8em; background:rgba(17, 17, 17, 0.7); text-align:center; border-radius:5px; color:#FFFFFF;}.ui-toast__content{ padding: 12px; font-size: 16px;}.ui-mask{ position:fixed; z-index:1000; top:0; right:0; left:0; bottom:0; background:rgba(0, 0, 0, 0.6);}.ui-mask_transparent{ position:fixed; z-index:1000; top:0; right:0; left:0; bottom:0;}@-webkit-keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; }}@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; }}.ui-animate-fade-in{ -webkit-animation:fadeIn ease .3s forwards; animation:fadeIn ease .3s forwards;}@-webkit-keyframes fadeOut{ from{ opacity:1; } to{ opacity:0; }}@keyframes fadeOut{ from{ opacity:1; } to{ opacity:0; }}.ui-animate-fade-out{ -webkit-animation:fadeOut ease .3s forwards; animation:fadeOut ease .3s forwards;}
阅读全文
0 0
- toast.js
- js css3仿ios toast提示。
- Toast
- Toast
- Toast
- Toast
- Toast
- Toast
- toast
- Toast
- Toast
- toast
- toast
- Toast
- Toast
- toast
- Toast
- Toast
- Mac环境运行mvn报错
- Android selector
- Nginx+Tomcat集群故障迁移实现
- Python中用format函数格式化
- Bootstrap Multiselect插件使用步骤以及常见参数配置介绍
- toast.js
- WinScp和SecureCRT8.0的安装和使用
- ThreadLocal
- 无缝滑动
- CountDownLacth的使用
- Maven Web+SSH 项目搭建(Eclipse)
- ORA-12154: TNS: 无法解析指定的连接标识符(原创)
- Python 守护进程
- 一个数学问题