将组件封装起来在项目中开发很实用,之前遭遇过一次痛苦的经历,那阵子改的要吐血了。常用的组件封装起来,改公共的地方,往往多处受用。

例如:我在项目中引用  tips.text('加载中。。。',false) ;

参数设为false时,tips会一直显示,可以在请求成功后,让tips 隐藏了;参数不设置的时候,tips两秒后消失。

PS:isHide && (timeoutId = setTimeout(function() {ele.style.display = 'none'; }, 2000)); 这句困扰了好久,这是tips一直显示的原因,最后终于明白了,&&方法:当只有前面的为true,后面的才可以执行,并返回后面的值。附上篇觉得写得不错的一篇文章:

http://wenrunchang123.iteye.com/blog/1749802

module.exports = function() {
angular.module('App').factory('tips', function() {
var $ = angular.element;
var ele = angular.element('<div id="tips"></div>')[0];
var $ele = $(ele); var style = {
display: 'none',
padding: '5px 10px',
'text-align': 'center',
position: 'fixed',
left: '50%',
transform: 'translate(-50%, -50%)',
'background-color': 'rgba(0,0,0,.6)',
color: '#fff',
'z-index': '9999',
'border-radius': '5px'
}; angular.element(ele).css(style);
document.body.appendChild(ele);
var timeoutId = null; return {
text: function(msg, isHide) {
isHide = isHide !== undefined ? isHide : true;
ele.style.display = 'inline-block';
ele.style.bottom = '50%';
ele.innerHTML = msg; clearTimeout(timeoutId);
isHide && (timeoutId = setTimeout(function() {
ele.style.display = 'none';
}, 2000));
},
hide: function() {
ele.style.display = 'none';
},
tips: function(options) {
if (options.style) {
for (var p in options.style) {
ele.style[p] = options.style[p];
}
}
ele.style.display = 'inline-block';
ele.innerHTML = options.msg; clearTimeout(timeoutId);
(options.isHide || options.isHide === undefined) && (timeoutId = setTimeout(function() {
ele.style.display = 'none';
}, options.timeout || 2000));
}
}
});
};

最新文章

  1. 数据可视化-EChart2.0使用总结2
  2. Flyme适配源码更新命令,轻松完成打包
  3. Linux:cacti环境部署
  4. 新版Xcode无法新建iOS空项目解决方案
  5. 51job前程无忧网站打不开,51job网站进不了,51job打不开
  6. 金融系列14《QPBOC交易流程》
  7. 更改Keil工程名
  8. Linux免SSH密码登录
  9. Redis在win7上的安装与可视化应用
  10. (017)将一棵二叉查找树重构成链表(keep it up)
  11. C# 语言规范_版本5.0 (第16章 异常)
  12. 挂接命令(mount) 【转】
  13. Linux下检测内存泄露的工具 valgrind
  14. 从.Net到Java学习第八篇——SpringBoot实现session共享和国际化
  15. Mac截图操作,自定义快捷键
  16. restful 规范(建议)
  17. python爬虫之scrapy文件下载
  18. HDU 1019(求最小公倍数 **)
  19. Redis命令总结 (转)
  20. alpha阶段 代码结构及技术难点简介

热门文章

  1. 再次写给VC++ Windows开发者
  2. POJ:2139-Six Degrees of Cowvin Bacon
  3. struts2官方 中文教程 系列五:处理表单
  4. Maven学习 (三) 使用m2eclipse创建web项目
  5. Postman-进阶(2)
  6. 路由vue-router进阶
  7. 滑动菜单栏之开源项目SlidingMenu的使用
  8. 解决idea无法下载插件的问题
  9. Python 3基础教程10-全局变量和局部变量
  10. JMeter学习笔记(四) HTTP Cookies 管理器