实例介绍
【实例简介】
【实例截图】
【核心代码】
<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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论