实例介绍
【实例简介】
【实例截图】
【核心代码】
<script language="javascript" type="text/javascript"> <!-- // 这里都是公用函数,挺多的... var // 获取元素 $ = function (element) { return (typeof (element) == 'object' ? element : document.getElementById(element)); }, // 生成元素到refNode appendElement = function (tagName, Attribute, strHtml, refNode) { var cEle = document.createElement(tagName); // 属性值 for (var i in Attribute) { cEle.setAttribute(i, Attribute[i]); } cEle.innerHTML = strHtml; refNode.appendChild(cEle); return cEle; }, // 获取元素坐标 getCoords = function (node) { var x = node.offsetLeft; var y = node.offsetTop; var parent = node.offsetParent; while (parent != null) { x = parent.offsetLeft; y = parent.offsetTop; parent = parent.offsetParent; } return { x: x, y: y }; }, // 事件操作(可保留原有事件) eventListeners = [], findEventListener = function (node, event, handler) { var i; for (i in eventListeners) { if (eventListeners[i].node == node && eventListeners[i].event == event && eventListeners[i].handler == handler) { return i; } } return null; }, myAddEventListener = function (node, event, handler) { if (findEventListener(node, event, handler) != null) { return; } if (!node.addEventListener) { node.attachEvent('on' event, handler); } else { node.addEventListener(event, handler, false); } eventListeners.push({ node: node, event: event, handler: handler }); }, removeEventListenerIndex = function (index) { var eventListener = eventListeners[index]; delete eventListeners[index]; if (!eventListener.node.removeEventListener) { eventListener.node.detachEvent('on' eventListener.event, eventListener.handler); } else { eventListener.node.removeEventListener(eventListener.event, eventListener.handler, false); } }, myRemoveEventListener = function (node, event, handler) { var index = findEventListener(node, event, handler); if (index == null) return; removeEventListenerIndex(index); }, cleanupEventListeners = function () { var i; for (i = eventListeners.length; i > 0; i--) { if (eventListeners[i] != undefined) { removeEventListenerIndex(i); } } }; --> </script> <script language="javascript" type="text/javascript"> <!-- /********************************************* - POPHint 弹出提示框 - By Mudoo 2008.5 **********************************************/ function popHint(obj, msg, initValues) { var _obj = $(obj), _objHint = $("popHint"), _msg = msg, _init = initValues; // 初始化失败... if (_obj == undefined || _msg == undefined || _msg == "") return; // 设置初始值 _init = _init == undefined ? { _type: "wrong", _event: "click"} : _init; // obj如果不可见。设置弹出对象为obj父元素 if (_obj.style.display == 'none' || _obj.style.visibility == 'hidden' || _obj.getAttribute('type') == 'hidden') _obj = _obj.parentNode; var _type = null, _event = null, _place = getCoords(_obj), _marTop = null, _objText = $("popHintText"), // 初始化 init = function () { var _hint = _obj.getAttribute("hint"); if (_hint == "false") return; // 有的时候initValues不为空.但是只设置一个值...避免发生错误.再次设置初始值... _type = _init._type == undefined ? "wrong" : _init._type; _type = _type.toLowerCase(); _event = _init._event == undefined ? "click" : _init._event; _event = _event.toLowerCase(); /* ****************************************** popHtml ****************************************** <div id="popHint"> <div id="popHeader"> <div class="popLeft"></div> <div id="popHintText"><span class=\"popIcon wrong></span>请输入您的用户名!</div> <div class="popRight"></div> </div> <div class="popAngle"><span></span></div> </div> */ // 好了.输出... var _Html = "<div id=\"popHeader\">" " <div class=\"popLeft\"></div>" " <div id=\"popHintText\"></div>" " <div class=\"popRight\"></div>" "</div>" "<div class=\"popAngle\"><span></span></div>" if (_objHint == null) { _objHint = appendElement("div", { "id": "popHint" }, _Html, document.body); _objHint.style.display = "none"; _objText = $("popHintText"); } show(); }, // 显示 show = function () { _objHint.style.display = ""; _marTop = _objHint.offsetHeight; _msg = "<span class=\"popIcon " _type "\"></span>" _msg; _objText.innerHTML = _msg; _objHint.style.left = _place.x "px"; _objHint.style.top = (_place.y - _marTop 8) "px"; // 关闭触发事件 switch (_event) { case "blur": //myAddEventListener(_obj, 'blur', hide); break; //default : case "click": // myAddEventListener(document, 'mousedown', hide); myAddEventListener(_objHint, 'mousedown', hide); break; //这里可以自己扩展很多事件... } }, // 关闭 hide = function () { _objHint.style.display = "none"; _objText.innerHTML = ""; // 移除关闭触发事件 //myRemoveEventListener(_obj, 'blur', hide); //myRemoveEventListener(document, 'mousedown', hide); }; init(); } --> </script>
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论