Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 悬停菜单jquery上下滑动太快_Javascript_Php_Jquery_Html_Css - Fatal编程技术网

Javascript 悬停菜单jquery上下滑动太快

Javascript 悬停菜单jquery上下滑动太快,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我做了这个悬停菜单,但它有问题 这是我的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

我做了这个悬停菜单,但它有问题 这是我的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>";
}
我的问题是 当我的鼠标离开时 而且我吃老鼠太快了 我的菜单上下滑动太快了
请帮助我

将速度添加到您的slideUp通话中,例如慢速通话

slideUp("slow")

您也可以使用毫秒值。

您可以简单地添加毫秒时间,如slideUp1000或slideDown300或slideDownfast或slideUpslow
希望这有帮助。

您能将您的脚本更改为此脚本并告诉我问题是否已解决吗

$("#right_side li").on({
    mouseenter: function(){
        $(this).children('ul').stop().slideDown();
    },
    mouseleave: function(){
        $(this).children('ul').stop().slideUp();
    }
});

当向上/向下滑动的元素没有设置高度时,jQuery slideUp/slideDown函数存在一个已知问题。确保要隐藏的图元具有指定的高度

此外,最小高度css属性会把事情搞砸。从元素中删除最小高度

参考:


我的问题不在于计时我的问题是当我离开并再次快速悬停的时候,当我的滑行还没有完成的时候,我的sub-ul gooes上升和下降得太快了down@Davion默认情况下,slideUp和SlideDown以400毫秒的速度执行,因此将其添加到500毫秒没有任何区别。alirezavalipour你能用小提琴重现这个问题吗?你的问题是,当你用鼠标在菜单上多次移动时,菜单会上下多次执行吗?没有固定的重复时间stop@alirezavalipour你能给我们看看html吗?不是php代码我知道计时,但我的问题是其他一些东西你的代码没有包括它。添加slow会降低你的幻灯片速度-这是你要求的,对吗?不,当我离开并再次快速悬停时,当我的滑下还没有完成时,我的sub ul GOES上下太快创建一个JSFIDLE或codepen来演示问题-当我们看不到它时,很难准确地说出发生了什么。很简单,只要想想我的鼠标在第一个ul上,我离开ul到身体上,然后在我的滑出动画之前返回工作,所以问题从这里开始我的sub ul隐藏和显示太快大约是60HZ:我们来摆弄一下你的问题:你的小提琴没有正确的一面,它不工作:让我们来。这解决了我的问题,我花了一个小时试图解决它。不知道为什么有人否决了这个。。。