鼠标移入<p id="test">test</p>
, 2秒后在<p id="info"></p>
中提示mouseenter.
鼠标移出<p id="test">test</p>
, 在<p id="info"></p>
中提示mouseleave.
要求leave的信息必须等mouseenter显示后,再显示(有顺序)。 应该怎么写事件?
鼠标移入<p id="test">test</p>
, 2秒后在<p id="info"></p>
中提示mouseenter.
鼠标移出<p id="test">test</p>
, 在<p id="info"></p>
中提示mouseleave.
要求leave的信息必须等mouseenter显示后,再显示(有顺序)。 应该怎么写事件?
<body>
<span id="btn">11111111111111</span>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
var $btn = $('#btn');
var eventCallbacks = [];
var timer = null;
$btn.on('mouseenter',function(){
clearTimeout(timer);
eventCallbacks = [];
eventCallbacks.push(function(){
$btn.text('in');
});
var timer = setTimeout(function(){
for(var i=0;i<eventCallbacks.length;i++){
debugger;
eventCallbacks[i]();
}
},2000)
});
$btn.on('mouseout',function(){
eventCallbacks.push(function(){
$btn.text('out');
})
});
</script>
这么写能实现,就是看起来有些丑。
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
Try this: