js 怎么实现鼠标停留一秒不动后才执行事件呢

zcwjiao 2010-10-20 01:22:54
function cp(event)
{evt=window.event?window.event:event;var pointer=function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))}}(evt);l=o.offsetLeft-30;t=o.offsetTop-30;r=l+o.offsetWidth+40;b=o.offsetTop+o.offsetHeight+30;py=pointer.y;px=pointer.x;if((py>t&&py<b)&&(px>l&&px<r)){}
else{st=eval(nnx+"t");st=setTimeout(function(){o.style.display="none"},100);document.onmousemove=function(){}}}

代码如上,这个是鼠标一碰到就触发事件,要怎么样才能实现鼠标停留1秒后才触发事件,小菜鸟求高手帮个小忙。感激不尽。
...全文
1711 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdzr_826 2010-10-20
  • 打赏
  • 举报
回复
setTimeout
延时一秒执行。
zcwjiao 2010-10-20
  • 打赏
  • 举报
回复
<div align=center>
<li class="nav_css1 STYLE2" id="tr1">名站</li>
<li class="nav_css2 STYLE5" id="tr2"><strong>项目</span> </strong> </li>
<li class="nav_css2 STYLE5" id="tr3"><strong>花儿</strong></li>
<li class="nav_css2 STYLE5" id="tr4"><strong>推广</strong></li>
<li class="nav_css2 STYLE5" id="tr5"><strong>软件</strong></li>
<li class="nav_css2 STYLE5" id="tr6"><strong>查询</strong> </li>
<li class="nav_css2" id="tr7"><span class="STYLE2">时刻</span></li>
</ul></div>
<script language="javascript" src="js.js"></script>


js.js内容为

var cch=function(i){return function(){cc(i)}}

for(i=1;i<8;i++)regE($('tr'+i),'onmouseover',cch(i))
var curCc=1
var cclist=['','','1.asp','2.asp','3.asp','4.asp','5.asp','6.asp']
function cc(a)
{
if(a==curCc) return
if(a==1){
os('nav1').display=''
os('nav2').display='none'
os('lxgq').display='none'
}
else{
if( a==3 ){
os('lxgq').display=''
os('nav1').display='none'
os('nav2').display='none'
if($('lxgq').src!=cclist[a])$('lxgq').src=cclist[a]
}
else{
os('nav1').display='none'
os('nav2').display=''
os('lxgq').display='none'
$('nav2').src=cclist[a]
}
}
$('tr'+a).className='nav_css1'
$('tr'+curCc).className='nav_css2'
curCc=a
}
document.onclick = function(e){
os('suggest').display='none'
try{
if(!mailshowed){os('mailBody').display='none';}
}
catch(e){}
mailshowed = false;
e = window.event || e
sE = e.srcElement || e.target
if( sE.tagName !='P' )os('wth_f').display='none'
if( sE.tagName != "IMG"){os('set').display='none';$('settd').className='szym_bg'}
if( sE.tagName == "A" && sE.className!='ssbutton' ) his(sE.innerHTML,sE.href)
}

刚刚好像发错了。。。我也不知道了。请高手再帮忙
zhangshaolongjj 2010-10-20
  • 打赏
  • 举报
回复
try
function cp(event)
{
window.setTimeout(function(event){evt=window.event?window.event:event;var pointer=function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))}}(evt);l=o.offsetLeft-30;t=o.offsetTop-30;r=l+o.offsetWidth+40;b=o.offsetTop+o.offsetHeight+30;py=pointer.y;px=pointer.x;if((py>t&&py<b)&&(px>l&&px<r)){}
else{st=eval(nnx+"t");st=setTimeout(function(){o.style.display="none"},100);document.onmousemove=function(){}}}, 1000);}
zcwjiao 2010-10-20
  • 打赏
  • 举报
回复
7楼还是不行
zell419 2010-10-20
  • 打赏
  • 举报
回复
function callback() {
alert('Yes');//这里放你要执行的方法,event一个个传过去。
}
zhangshaolongjj 2010-10-20
  • 打赏
  • 举报
回复
try
function cp(event)
{
window.setTimeout(function(){evt=window.event?window.event:event;var pointer=function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))}}(evt);l=o.offsetLeft-30;t=o.offsetTop-30;r=l+o.offsetWidth+40;b=o.offsetTop+o.offsetHeight+30;py=pointer.y;px=pointer.x;if((py>t&&py<b)&&(px>l&&px<r)){}
else{st=eval(nnx+"t");st=setTimeout(function(){o.style.display="none"},100);document.onmousemove=function(){}}}, 1000);}
wujinjian2008n 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cj205 的回复:]

HTML code
<script>
var timer = null;
function callback() {
alert('Yes');
}
function onSecondDelay(callback) {
clearTimeout(timer);
timer = setTimeout(callback, 1000);
}
</script>
<span o……
[/Quote]


up up
zcwjiao 2010-10-20
  • 打赏
  • 举报
回复
还是不行,st=setTimeout(function(){o.style.display="none"},1000);

这个地方改成1000效果还是鼠标一移上去就触发事件了,没有停留
zhangshaolongjj 2010-10-20
  • 打赏
  • 举报
回复
function cp(event)
{evt=window.event?window.event:event;var pointer=function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))}}(evt);l=o.offsetLeft-30;t=o.offsetTop-30;r=l+o.offsetWidth+40;b=o.offsetTop+o.offsetHeight+30;py=pointer.y;px=pointer.x;if((py>t&&py<b)&&(px>l&&px<r)){}
else{st=eval(nnx+"t");st=setTimeout(function(){o.style.display="none"},1000);document.onmousemove=function(){}}}
zcwjiao 2010-10-20
  • 打赏
  • 举报
回复
我不懂JS,我发的代码也不知道是什么意思,能不能把我上面那段代码修改一下,修改成我说的那效果。二楼的代码 我不知道如何加到我的代码里面去
hyindream 2010-10-20
  • 打赏
  • 举报
回复
你可以定义一个定时器1秒后执行,鼠标放上去时启动这个定时器,鼠标移开时关闭定显示器.最后就是放上去之后一秒还没移开就执行了
Mr-Jee 2010-10-20
  • 打赏
  • 举报
回复 1
<script>
var timer = null;
function callback() {
alert('Yes');
}
function onSecondDelay(callback) {
clearTimeout(timer);
timer = setTimeout(callback, 1000);
}
</script>
<span onmouseover="onSecondDelay(callback);"
onmousemove="onSecondDelay(callback);"
onmouseout ="clearTimeout(timer);">target</span>

87,921

社区成员

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

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