当前日期时间
当前时间:
网站标志
Logo
全站搜索
广告位
phpweb图片广告
广告位
phpweb图片广告
自定内容

phpweb已经是国内最强的的开源电子商务系统了,但并非完美,因为任何...

互联网3年一轮回,京东凡客等电商品牌在三年之前也不过是小打小闹,而如...

电商已经成为趋势,传统行业的竞争已经逐渐演变到网络上,也有不少用Weboss...

phpweb系统是固定的模式,适用于大部分行业与需求。但有一些行业还是有自己...

当前位置
文章正文

bootstrap下拉菜单dropdown重复触发/抖动/闪屏解决方法

发表:管理员  发表时间:2022-07-15 00:13:59   阅读:(3227)次  

 最近,做了一个外贸独立站,网站导航菜单如下图所示,移到一级菜单上就会显示二级菜单,用到的是jquery的slideDown、slideup。

问题代码如下:

if($(window).width()>768){

            //鼠标划过就展开子菜单

            $('ul.nav li.dropdown').hover(function() {

              $(this).find('.dropdown-menu').stop(true, true).slideDown();

            }, function() {

             $(this).find('.dropdown-menu').stop(true, true).slideUp();

            });

      }

在客户使用过程中发现,当我在两个一级菜单见快速移动,在第一个菜单的二级菜单消失前,快速移至二级菜单,二级菜单就会在2个一级菜单的二级菜单中快速切换,就会出现重复触发、抖动、闪屏的感觉。

我的解决方法就是使用stop函数,stop函数的用法如下所示:

stop([clearQueue],[jumpToEnd]); clearQueue:如果设置成true,则清空队列,可以立即结束动画。 jumpToEnd:如果设置成true,则完成队列,可以立即完成动画。可选,默认是false。

我把代码改成如下形式:

      if($(window).width()>768){

            //鼠标划过就展开子菜单

            $('ul.nav li.dropdown').hover(function() {

                    $(this).find(".dropdown-menu").stop(true, false).slideDown();

              //$(this).find('.dropdown-menu').stop(true, true).slideDown();

            }, function() {

            $(this).find(".dropdown-menu").stop(true, false).slideUp();

              //$(this).find('.dropdown-menu').stop(true, true).slideUp();

            });

      }

这样,就解决了slidedown/slideup重复触发/抖动/闪屏的问题了。


 

假如我们资讯/文章对您有所帮助,您可以通过扫描捐赠二维码支持一下我们~

感谢您对我们的支持,您的小小支持让我们有信心走得更远!

脚注信息
© 2005-2015 草莓互联(100cm.cn) 广州同福信息科技有限公司 版权所有,并保留所有权利。

广州市东莞庄一横路116号 粤ICP备11046216号

经营性网站备案信息 广州网络警察报警平台 不良信息举报中心  百度信誉档案 广州工商红盾网 可信网站认证