<html>
<head>
<script>
var fnTitle=function ()
{
var oImg = document.getElementById("img1");
var oDiv = document.getElementById("div1");
oImg.onmouseover = function()
{
oDiv.style.position = "absolute";
oDiv.style.visibility = "visible";
oDiv.style.left = event.clientX + 5;
oDiv.style.top = event.clientY + 5;
}
function hidden()
{
oDiv.style.visibility="hidden";
}
oImg.onmouseout =function()
{ setTimeout("hidden()",2000);
}
} window.onload=fnTitle;
</script>
</head>
<body>
<img id="img1" src="t4.jpg" style="width:50px;height:50px;"></img>
<div id="div1" style="background-image:url(t4.jpg);width:100px;height:100px; visibility:hidden;">
</div>
</body>
</html>我想让鼠标移出img1的时候过上两秒再让div1消失。但一直报错提示说缺少对象,求高手指点迷津,感激不尽!
<head>
<script>
var fnTitle=function ()
{
var oImg = document.getElementById("img1");
var oDiv = document.getElementById("div1");
oImg.onmouseover = function()
{
oDiv.style.position = "absolute";
oDiv.style.visibility = "visible";
oDiv.style.left = event.clientX + 5;
oDiv.style.top = event.clientY + 5;
}
function hidden()
{
oDiv.style.visibility="hidden";
}
oImg.onmouseout =function()
{ setTimeout("hidden()",2000);
}
} window.onload=fnTitle;
</script>
</head>
<body>
<img id="img1" src="t4.jpg" style="width:50px;height:50px;"></img>
<div id="div1" style="background-image:url(t4.jpg);width:100px;height:100px; visibility:hidden;">
</div>
</body>
</html>我想让鼠标移出img1的时候过上两秒再让div1消失。但一直报错提示说缺少对象,求高手指点迷津,感激不尽!
解决方案 »
- 网页上有一段显示的文字,如何用javascript对其进行修改?
- 类似城市天气预报的网站
- 元素属性改变后如何立刻生效?
- jquery有类似百度的投票插件吗?
- |zyciis| 为什么在新打开的窗口不能去执行父窗口的TextBox的onchange()事件,谢谢
- xici.net的社区模式是怎么做的。特别是它的导航条功能仿照多页面ie浏览器做的。
- 一个js的问题,急。。。。
- 解决就给分!通过按钮的单击动作如何向表单中动态添加文本框?
- 请问如何取得表格在页面中的位置?
- javascript调用本地文件!把此.htm保存为本地文件可以,但通过webserver却不行?!!
- 用超级链接提交表单,将值传到另一个页面
- 如何获得字符串中的值,先判断是否含有(max.),再取其中的值
应该将oDiv作为全局变量定义,即,将
var oDiv
放在<script...>之后,而不是在某一个function内部
比如,setTimeout("MyClass.Hidden()", 2000);
setTimeout("hidden()",2000) 因为执行函数写的是字符串 他会找全局的函数hidden (你可以拿一个全局的function hidden 试一下 )
//-------------------------------
setTimeout(hidden,2000) 直接吧变量名做为参数 可以找道当前作用域下的 hidden<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<style type="text/css">
div{
height:100px;width:100px; border:1px solid #cccccc;;
}
</style> <body ><img id="img1" src="g.gif" style="width:50px;height:50px;"></img>
<div id="div1" style="background-image:url(t4.jpg);width:100px;height:100px; visibility:hidden;">
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
var fnTitle=function ()
{
var oImg = document.getElementById("img1");
var oDiv = document.getElementById("div1");
oImg.onmouseover = function()
{
oDiv.style.position = "absolute";
oDiv.style.visibility = "visible";
oDiv.style.left = event.clientX + 5;
oDiv.style.top = event.clientY + 5;
}
function hidden()
{
oDiv.style.visibility="hidden";
}
oImg.onmouseout =function(){
//setTimeout("hidden()",2000);可以试一下 是不是 调用了外面的hidden
setTimeout(hidden,2000);
}
}function hidden(){alert('xx')}
window.onload=fnTitle;
</script>
</body>
</html>
var oImg = document.getElementById("img1");
var oDiv = document.getElementById("div1");
要么页面加载时执行,要么在onmouseover时执行
看错了;
setTimeout(hidden,2000);
就可以了。