如何设置延时呢?

qzdlp 2010-10-19 10:03:51

$(document).ready(function(){
$(".hmain").hover(function(){
$(this).children("ul").fadeIn("fast");
$(this).children("ul").fadeTo("slow",0.8);
},function(){
$(this).children("ul").fadeOut("fast");
});
});



请问如何,设置鼠标在上面停留1秒后才执行。不到1秒就不显示。
...全文
210 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kick5578 2010-10-21
  • 打赏
  • 举报
回复
.hmain ul{display:none;}



干嘛都设置成none
qzdlp 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 crazywa 的回复:]
$(document).ready(function(){
$(".hmain").hover(function(){
var _self = this;
_self.s = setTimeout(function(){
$(_self).children("ul").fadeIn("fast");
$(_self).children("ul").fadeTo("sl……
[/Quote]

能稍微解释一下吗?比如为什么定义_self,还有后面一个function的内容看了不是很明白
qzdlp 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhangshaolongjj 的回复:]
$(document).ready(function(){
var t;
$(".hmain").hover(function(){
t = window.setTimeout(s, 1000);
function s(){
$(this).children("ul").fadeIn("fast");
$(this).children("ul").fadeTo(……
[/Quote]
这个方法我一开始就试过,但是没反应,不知道那里出了问题
Crazywa 2010-10-19
  • 打赏
  • 举报
回复
jQ会自己调用each方法吗?
我不太常用。
如果jQ不会自己调用each方法那你这个还需要修改。。
Crazywa 2010-10-19
  • 打赏
  • 举报
回复
$(document).ready(function(){
$(".hmain").hover(function(){
var _self = this;
_self.s = setTimeout(function(){
$(_self).children("ul").fadeIn("fast");
$(_self).children("ul").fadeTo("slow",0.8);
_self.ex = 1;
clearTimeout(_self.s);
},1000);
},function(){
var _self = this;
if(_self.s){
clearTimeout(_self.s);
delete _self.s;
}
if(!!_self.ex)$(this).children("ul").fadeOut("fast",function(){_self.ex=0;});
});
});
yang430525 2010-10-19
  • 打赏
  • 举报
回复
window.setTimeout(你的函数名,1000);
zhangshaolongjj 2010-10-19
  • 打赏
  • 举报
回复
$(document).ready(function(){
var t;
$(".hmain").hover(function(){
t = window.setTimeout(s, 1000);
function s(){
$(this).children("ul").fadeIn("fast");
$(this).children("ul").fadeTo("slow",0.8);
}
},function(){
clearTimeout(t);
$(this).children("ul").fadeOut("fast");
});
});

qzdlp 2010-10-19
  • 打赏
  • 举报
回复
这次可以了,十分感谢。
zhangshaolongjj 2010-10-19
  • 打赏
  • 举报
回复
var that = this,t = window.setTimeout(function(){s.call(that);}, 1000);
改下7#,看看这个,我理解的不深阿!
qzdlp 2010-10-19
  • 打赏
  • 举报
回复
7#的试过了,还是不行。
zhangshaolongjj 2010-10-19
  • 打赏
  • 举报
回复
7#的不可以吗?
qzdlp 2010-10-19
  • 打赏
  • 举报
回复

<!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=utf-8" />
<title>菜单</title>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript" src="select.js"></script>
<style type="text/css">
*{padding:0px;margin:0px;}
ul{list-style:none}
a{text-decoration:none;}
.hmain{color:#FFF; background-image: url(images/title.gif); background-repeat: repeat-x; width:150px;}
.hmain a{color:#FFF;}
.hmain ul li a{color:red}
.hmain ul{display:none;}
.hmain ul{background-color:#000;}
.hmain{float:left}
</style>
</head>

<body>
<ul>
<li class="hmain"><a href="#">主菜单一</a>
<ul>
<li><a href="#">second_menu1</a></li>
<li><a href="#">second_menu2</a></li>
<li><a href="#">second_menu3</a></li>
<li><a href="#">second_menu4</a></li>
</ul>
</li>
<li class="hmain"><a href="#">主菜单二</a>
<ul>
<li><a href="#">second_menu5</a></li>
<li><a href="#">second_menu6</a></li>
<li><a href="#">second_menu7</a></li>
<li><a href="#">second_menu8</a></li>
</ul>
</li>
<li class="hmain"><a href="#">主菜单三</a>
<ul>
<li><a href="#">second_menu9</a></li>
<li><a href="#">second_menu10</a></li>
<li><a href="#">second_menu11</a></li>
<li><a href="#">second_menu12</a></li>
</ul>
</li>
</ul>
</body>
</html>

这是html文件,下面是我一开始写的js

$(document).ready(function(){
function show(){
alert("弹出框就可以执行");
//$(this).children("ul").fadeIn(10);
//$(this).children("ul").fadeTo("slow",0.8);
});
$(".hmain").hover(function(){
t=setTimeout(show,800);
},function(){
clearTimeout(t)
//$(this).children("ul").fadeOut("slow");
});
});


执行alert正常,一换成注释里面的内容了,就不显示了。


3楼的可以用。不过不太理解。
zhangshaolongjj 2010-10-19
  • 打赏
  • 举报
回复
_self就是$(".hmain")对象,开始没注意到,试试行吗
$(document).ready(function(){
var t;
$(".hmain").hover(function(){
t = window.setTimeout(function(){s.call(this);}, 1000);
function s(){
$(this).children("ul").fadeIn("fast");
$(this).children("ul").fadeTo("slow",0.8);
}
},function(){
clearTimeout(t);
$(this).children("ul").fadeOut("fast");
});
});

87,919

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧