[英]hover menu jquery slide up and down too fast
我做了这个悬停菜单,但是这是我的jQuery代码的错误
$("#right_side li").mouseenter(function(e) {
$(this).children('ul').stop(true,true).slideDown();
});
$(this).stop();
$("#right_side li").mouseleave(function(e) {
$(this).children('ul').stop(true,true).slideUp();
});
这是我的PHP代码
function menu($li)
{
echo "<ul class='hovermenu'>";
$result = mysqli_query($li, "SELECT * FROM `categories` WHERE 1") or die(mysqli_error($li));
while ($Row = mysqli_fetch_array($result)) {
echo "<li class='cat'><div class='cat_div' ><a href='index.php?cat=".$Row['catid']."'>" . $Row['catname'] . "</a></div><ul class='sub'>";
$result2 = mysqli_query($li, "SELECT * FROM `brand` WHERE catid=".$Row['catid']."") or die(mysqli_error($li));
while ($Row2 = mysqli_fetch_array($result2)) {
echo "<li><a href='index.php?brand=".$Row2['id']."&cat=".$Row['catid']."'>" . $Row2['name'] . "</a></li>";
}
echo"</ul></li>";
}
echo "</ul>";
}
我的问题是,当我的mouseleave和我的mousein太快时,我的菜单上下滑动得太快了,请帮忙meeeee !!!
将速度添加到您的slideUp呼叫中,例如“慢”
slideUp("slow")
您还可以使用毫秒为单位的值。
您可以简单地以毫秒为单位添加一个时间,例如slideUp(1000)或slideDown(300)或slideDown(“ fast”)或slideUp(“ slow”)希望对您有所帮助。
您可以将脚本更改为此脚本,并让我知道问题是否已解决。
$("#right_side li").on({
mouseenter: function(){
$(this).children('ul').stop().slideDown();
},
mouseleave: function(){
$(this).children('ul').stop().slideUp();
}
});
当向上/向下滑动的元素没有设置高度时,jQuery slideUp / slideDown函数存在一个已知问题。 确保要隐藏的元素具有指定的高度。
另外,最小高度css属性将使事情变得混乱。 从元素中删除最小高度。
参考:
https://forum.jquery.com/topic/slideup-slow-and-slidedown-slow-happening-instantly
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.