锁定老帖子 主题:js操作提示小工具
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-12
/* 打印一些操作提示信息 weiqiang.yang@2010-02-28 需要 1. logger.css(或者自行将以下内容添加到css文件中) .logz{position: absolute; top: 43px; left:50%; height: 18px; margin-left: -120px; text-align:left; opacity:0.7; z-index:2048;} .logi{display:block; background-color:#ffffae; width:240px; padding:2px; margin:5px;} 2. images目录下的图片文件 var __images = {'ok':'/images/icon_ok.gif', 'info':'/images/ico_info.gif', 'error':'/images/ico_error.gif', 'debug':'/images/ico_info.gif', 'warn':'/images/ico_info.gif'}; */ ( function() { var NAMESPACE = 'logger'; var __options = {timeout:3000, width:200, delay:500}; var __msgZone; var __index = 0; var __idPfrefix = "$LOGGER-"; var __images = {'ok':'/images/icon_ok.gif', 'info':'/images/ico_info.gif', 'error':'/images/ico_error.gif', 'debug':'/images/ico_info.gif', 'warn':'/images/ico_info.gif'}; var debug = function(_msg){ __appendMsg(_msg, 'debug'); } var ok = function(_msg){ __appendMsg(_msg, 'ok'); } var info = function(_msg){ __appendMsg(_msg, 'info'); } var warn = function(_msg){ __appendMsg(_msg, 'warn'); } var error = function(_msg){ __appendMsg(_msg, 'error'); } var __init = function(){ if(!__msgZone){ __msgZone = document.createElement('div'); __msgZone.className = 'logz';// setAttribute('className', xxx), setAttribute('class', xxx)... 还是className通用 //__msgZone.style.left = (document.body.clientWidth-__options.width)/2 +'px'; __msgZone.style.top = document.documentElement.scrollTop + 25 + 'px'; document.body.appendChild(__msgZone); } } var __appendMsg = function(_msg, _type){ __init(); var _id = __idPfrefix+__index; var _span = document.createElement('span'); _span.setAttribute('id', _id); _span.className = 'logi'; _span.innerHTML = '<img src="'+__images[_type]+'" alt="'+_type+'"/> '+_msg; __msgZone.insertBefore(_span, __msgZone.firstChild); __index++; var _f = function(){__remove(_id);} var _timeout = __options.timeout + (__index * __options.delay);/*加个delay是如果瞬间出现了多个log,那么控制删除的速度*/ setTimeout(_f, _timeout); } var __remove = function(_id){ var _node = document.getElementById(_id); __msgZone.removeChild(_node); } /*注册全局的对象*/ window[NAMESPACE] = {}; window[NAMESPACE].ok = ok; window[NAMESPACE].debug = debug; window[NAMESPACE].info = info; window[NAMESPACE].warn = warn; window[NAMESPACE].error = error; })(); 仿log4j的风格,引入logger.js 然后在代码里面调 logger.ok("操作成功"); logger.info("提示信息"); ... 就成了 js新手,谢谢~~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-12
Ajax怎么做到跨域调用呢?
|
|
返回顶楼 | |
发表时间:2010-03-15
595755330 写道 Ajax怎么做到跨域调用呢? ajax不能跨域的 可以用jsonp |
|
返回顶楼 | |
发表时间:2010-03-15
没搞明白楼主的这个是干什么用的?~是可以监测到js中调用的各种函数吗?~
|
|
返回顶楼 | |
发表时间:2010-03-15
不知道为什么看到一大堆的 " __ "开头的方法,就头晕。。
|
|
返回顶楼 | |
发表时间:2010-03-15
MrLee23 写道 没搞明白楼主的这个是干什么用的?~是可以监测到js中调用的各种函数吗?~ 没,就是js异步操作打个提示信息而已。。。不能总是用alert吧,体验不好 |
|
返回顶楼 | |
发表时间:2010-03-15
建议楼主搜索下blackbird
|
|
返回顶楼 | |
发表时间:2010-03-16
观察了一下大家的讨论终于有点明白楼主的意图了 楼主的小工具整的我有点蒙
|
|
返回顶楼 | |
发表时间:2010-03-16
最后修改:2010-03-16
如果是使用FF或chrome,直接在代码里使用console.log("日志信息")就可以在FireBug下看到。
|
|
返回顶楼 | |
发表时间:2010-03-17
同楼上,用FireBug 很好用,如果觉得alert太麻烦了,可以用console.log、console.debug、console.dir 等,都很好用。
|
|
返回顶楼 | |