有人可以解释当鼠标离开#categories_block_top .tree ul时如何延迟下拉?对不起,我是jQuery的新手。这是菜单的链接 - http://livedemo04.prestatrend.com/和js-file,是treeManagementTop.js。
答案 0 :(得分:1)
如果您使用了hoverIntent插件并且出现错误“makeTall未定义”,请检查您是否添加了该功能 例如在hoverIntent主页的源代码中看起来像:
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("#demo1 li").hover(makeTall,makeShort);
$("#demo2 li").hoverIntent(makeTall,makeShort);
$("#demo3 li").hoverIntent({
over: makeTall,
timeout: 500,
out: makeShort
});
}); // close document.ready
function makeTall(){ $(this).animate({"height":75},200);}
function makeShort(){ $(this).animate({"height":50},200);}
</script>
但是我在没有插件的情况下采取了另一种方式:
<ul id="elem">
<li><a href="#"><span>1</span></a>
<ul id="child" style="display:none;">
<li ><a href="">Home</a></li>
<li ><a href="">About</a></li>
<li ><a href="">Contacts</a></li>
<li ><a href="">FAQ</a></li>
</ul>
</ul>
<script type="text/javascript">
$(function(){
$('#elem').mouseenter(function(){
$('#ch').css('display', 'block');
});
$('#elem').mouseleave(function(){
$('#ch').delay(800).fadeOut('slow');
});
});
</script>
希望这会有所帮助:)
答案 1 :(得分:0)
jQueryElement.find('ul:first').stop(true,true).hide(100);
jQueryElement.find('ul:first').stop(true,true).slideUp(100);
这两行:您可以通过将100增加到更高的数字来调整菜单速度。
答案 2 :(得分:0)
还要添加延迟,请参阅以下内容: Jquery - Delay mouseout event Fade out jQuery menu after delay
答案 3 :(得分:0)
查看jQuery hoverIntent插件:
答案 4 :(得分:0)
您可以查看hoverIntent插件,让您定义一些有助于鼠标输入/输出交互的变量:http://cherne.net/brian/resources/jquery.hoverIntent.html