如果你移动到a标签也算移出div...
解决方案 »
- 螺旋数组-直接按坐标计算对应值的螺旋矩阵算法
- 學習asp.net之後,有些問題還是不懂,請教大家
- 关于js版本的迷糊
- 怎样让用户选择一个文件目录?
- 使用jquery.uploadify ,PC上FF、CHROME、SAFARI均上传图片成功,但是手机上怎么都不行,急死了!
- 如何动态控制层显示
- 时区问题
- 用超连接打开一个没有菜单和工具栏的窗口?
- 有谁用过Search Maker pro 2.1并知道注册码?或能提供类似的软件.[Search Maker Pro可以自动搜索一个网站,对所有页面进行索引,然后生成
- 有一个需求 在页面显示时 input文本框里的数据不允许编辑 但点击编辑按钮以后 input 都可以编辑了
- Javascrip怎样动态显示计算结果?
- 我做的网页两边的广告条,在傲游浏览器中,滚动的时候为什么会突然不见了呢
var Class = {
//创建类
create: function () {
return function () {
this.initialize.apply(this, arguments);
};
}
};var $A = function (a) {
//转换数组
return a ? Array.apply(null, a) : new Array;
};var $ = function (id) {
//获取对象
return document.getElementById(id);
};Object.extend = function (a, b) {
//追加方法
for (var i in b) a[i] = b[i];
return a;
};Object.extend(Object, { addEvent : function (a, b, c, d) {
//添加函数
if (a.attachEvent) a.attachEvent(b[0], c);
else a.addEventListener(b[1] || b[0].replace(/^on/, ""), c, d || false);
return c;
},
delEvent : function (a, b, c, d) {
if (a.detachEvent) a.detachEvent(b[0], c);
else a.removeEventListener(b[1] || b[0].replace(/^on/, ""), c, d || false);
return c;
},
reEvent : function () {
//获取Event
return window.event ? window.event : (function (o) {
do {
o = o.caller;
} while (o && !/^\[object[ A-Za-z]*Event\]$/.test(o.arguments[0]));
return o.arguments[0];
})(this.reEvent);
}
});Function.prototype.bind = function () {
//绑定事件
var wc = this, a = $A(arguments), o = a.shift();
return function () {
wc.apply(o, a.concat($A(arguments)));
};
};var out = {
d_m : null,
reMouse : function (a) {
var e = Object.reEvent();
return a ? document.body.scrollLeft + e.clientX : document.body.scrollTop + e.clientY;
},
set : function (o) {
var wc = this;
if (!wc.d_m)
wc.d_m = Object.addEvent(document, ["onmousemove"], wc.over.bind(wc, o));
},
over : function (o) {
var wc = this, mouse_x = wc.reMouse(1), mouse_y = wc.reMouse(0),
left = o.offsetLeft, top = o.offsetTop, right = left + o.offsetWidth, bottom = top + o.offsetHeight;
if (left > mouse_x || right < mouse_x || top > mouse_y || bottom < mouse_y) {
alert("onmouseout触发的说");
Object.delEvent(document, ["onmousemove"], wc.d_m);
wc.d_m = null;
}
}
};
</script>
<div class="submenu" id="menu1" style="border:1px solid red;width:100px;height:100px;"
onmouseover="out.set(this)">
<a href="#">HTML Tutorials</a>
<a href="#">DHTML Tutorials</a>
<a href="#">JavaScript Tutorials</a>
<a href="#">CSS Tutorials</a>
</div>自己写个onmouseout方法
你的东西我得研究研究问题是每次离开a标签时,怎么也触发div的onmouseout呢
IE 和 FF 都测试过了啊。。FF下那个CSS有点问题的说。。高度应该设置aotu
如果设置具体值的话应该设置overflow
function mclose2()
{
if (window.event.srcElement.tagName.toLowerCase()=="a")
{return;
}
alert("1111");
}
这样可以了
p {border:1px solid #FF9933; background-color:#CCC; z-index:999;}
</style>
<script>
function mclose2()
{
if (window.event.srcElement.parentNode.id=="menu1")
{return;
}
alert("1111");
}
</script>
<div class="submenu" id="menu1" style="border:1px solid red;height:100px;"
onmouseover=""
onclick="mclose2();">
<p id="a" onclick="alert(this.offsetWidth);">HTML Tutorials</p>
<p>DHTML Tutorials</p>
<p>JavaScript Tutorials</p>
<p>CSS Tutorials</p>
</div>
超出文本宽度的地方还是有问题 等待高手解惑