滑过表格的每一行出现一个盒子,滑出隐藏,盒子显示不全的时候滚动屏幕,鼠标就会离开这一行,而导致始终看不到这个盒子的完整内容。

问题描述:

表格里面滑过每一行的时候在下方出现一个盒子,滑出隐藏。但是表格下面的部分滑过的时候出现的盒子显示不全,一旦滑动滚动条的话,鼠标就会离开这一行,导致盒子也会消失,所以会导致始终看不到最下面的盒子的完整内容。

相关js代码:

$('.drugContainer-in1').on('mouseenter','tr',function(){
        //第一个td是否有值
        var tdVal = $(this).find('td').eq(1).text();
        if (tdVal == "" || tdVal == undefined || tdVal == null) {
            return;
        };
        //获取当前tr的详情信息
        getTrDetail($(this));
        var thisTop = parseInt($(this).position().top) + $(this).outerHeight()+8;
        $('.drug-view-position1').css('top',thisTop + 'px').show();
    }).on('mouseleave','tr',function(){
        $('.drug-view-position1').hide();
    });

图片描述

阅读 2.5k
2 个回答
用click事件来触发下面类容的显示和隐藏,你用mouseneter和mouseleave的话,你一滚动就触发了mouseleave,然后盒子的hide()就被触发了。用click可以解决这个问题。

第一种就是用click方法,这样移除后手动关闭
第二种可以尝试为document或他们的父元素绑定事件,判断同时离开表格和盒子后隐藏

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题