问答详情
源自:4-1 利用延迟和去抖技术进行优化

为什么我的效果是反的,在左边列表项移动时,背景色和二级菜单的切换变延迟了,但是移到二级菜单时,二级菜单却消失了

为什么我的效果是反的,在左边列表项移动时,背景色和二级菜单的切换变延迟了,但是移到二级菜单时,二级菜单却消失了

提问者:qq_YUG_0 2017-05-15 18:11

个回答

  • _0莫言0_
    2018-12-04 09:02:37

    $(document).ready(function() {

      var sub = $('#sub')

      var activeRow

      var activeMenu

      var timer

      var mouseInSub = false


      sub.on('mouseenter',function(e){

        mouseInSub = true

      }).on('mouseleave',function(e){

        mouseInSub = false

      })

      $('#test')

        .on('mouseenter', function(e) {

          sub.removeClass('none')

        })

        .on('mouseleave', function(e) {

          sub.addClass('none')


          if (activeRow){

            activeRow.removeClass('active')

            activeRow = null

          }


          if (activeMenu) {

            activeMenu.addClass('none')

            activeMenu = null

          }

        })


        .on('mouseenter', 'li', function(e) {

          if (!activeRow){

            activeRow = $(e.target).addClass('active')

            activeMenu = $('#' + activeRow.data('id'))

            activeMenu.removeClass('none')

            return

          }

          if (timer) {

            clearTimeout(timer)

          } 

           timer = setTimeout(function(){

            if (mouseInSub) {

              return

            } 

            activeRow.removeClass('active')

            activeMenu.addClass('none')


            activeRow = $(e.target)

            activeRow.addClass('active')

            activeMenu = $('#' + activeRow.data('id'))

            activeMenu.removeClass('none')

            timer = null

           },300)


          

        })

    })

    我的也是一样  怎么办?

  • Che_
    2017-06-29 23:50:35

    一级菜单 时而选中 时而选不中,在一级菜单中 delay 时而FALSE 时而TRUE

  • Bestdoing
    2017-06-21 19:26:12

    出现同样的问题:左边一级菜单上下滑动时二级菜单会跟随切换;但是,从一级菜单向右移动到二级菜单时,二级菜单消失不显示,求解答?

  • 盛辉123
    2017-05-16 19:53:26

    贴出你的代码看看。