在网页的前端开发技术中,为了达到友好的交互作用,当鼠标移入到一个区块DIV,才会显示对应的信息区块。也可以理解为是延时操作的显示。可以使用jQuery的计时器setTimeout实现。
<!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>jQuery实现鼠标滑过延时显示</title>
<script type='text/javascript' src='http://taizidian.cn/wp-content/themes/gena2.0/js/jquery.min.js?ver=3.1.1'></script>
<script type="text/javascript">
$(function(){
$('.post').mouseover(function(){
hideTimer=setTimeout("$('.post > .demo').show();",1000);//鼠标滑过元素1秒钟显示子元素
}).mouseleave(function(){
clearTimeout(hideTimer);//清除计时器
hideTimer=setTimeout("$('.post > .demo').hide();",10);//鼠标移除元素区域子元素消失
});
});
</script>
<style type="text/css">
<!--
* { margin:0; padding:0; }
body { margin:0; padding:0; }
div { font-size:26px; color:#fff; text-align:center; line-height:200px; }
.box { width:980px; margin:0 auto; background:#eee; }
.post { width:600px; height:200px; background:#36C; position:relative; }
.demo { width:380px; height:200px; position:absolute; top:0; right:-380px; background:#F90; display:none; }
-->
</style>
</head>
<body>
<div class="box">
<div class="post">鼠标停留此处1秒钟有变化!<div class="demo">恭喜看到一个新的颜色。</div></div>
</div>
</body>
</html>
为了不让鼠标移入后立即移出该元素也同样显示子元素,需要使用clearTimeout(hideTimer)来清除计时器,这样就能有效防止该问题发生。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫