layui实现鼠标移入/移出时显示/隐藏tips

layui实现鼠标移入/移出时显示/隐藏tips弹窗

注:其它弹窗亦可按照此方法实现相同效果

鼠标移入 dom 或 tips 区域,显示 tips 弹窗;

鼠标移出 dom 或 tips 区域,隐藏 tips 窗口;

<div id="box">鼠标移入移出</div>

<script src="./js/jquery-1.11.0.min.js"></script>
<script src="./js/layui.js"></script>
<script type="text/javascript">
    layui.use('layer', function() {
        const layer = layui.layer;
        let timer_event, layer_tips, tips_show = false
        
        $('#box').on({
            'mouseenter': function () {
                clearTimeout(timer_event)
                if(tips_show) return
                layer_tips = layer.tips(`<p id='tips-box'>tips content</p>`, $(this), {
                    time:0,
                    closeBtn: '1',
                    maxWidth: 200,
                    tips: 3,
                    success: function () {
                        tips_show = true
                        $('.layui-layer-tips .layui-layer-content').css({
                            'padding': '10px',
                            'border': '1px solid #666',
                        })
                        $('#tips-box').on({
                            'mouseenter': function () {
                                clearTimeout(timer_event)
                            },
                            'mouseleave': function () {
                                hideTips()
                            }
                        })
                    }
                }) 
            },
            'mouseleave': function () {
                hideTips()
            }
        })
        
        function hideTips() {
            clearTimeout(timer_event)
            timer_event = setTimeout(()=>{
                layer.close(layer_tips)
                tips_show = false
            }, 200)
        }
    })
</script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用jQuery动态生成节点,我们可以通过以下步骤来实现鼠标节点产生tips的效果。 首先,我们需要在生成节点的代码中为每个节点添加一个事件处理程序。这可以通过使用jQuery的on方法,在生成节点给每个节点添加一个mouseenter事件处理程序来实现。例如: ``` $(document).on('mouseenter', '.dynamic-node', function() { // 在这里编写显示tips的代码 }); ``` 在上面的代码中,我们使用了on方法来为文档中的所有动态生成节点添加mouseenter事件处理程序。'.dynamic-node'是一个选择器,用于选择所有具有.dynamic-node类的节点。当鼠标这些节点,事件处理程序将被调用。 接下来,在事件处理程序中,我们需要实现显示tips的代码。这可以通过创建一个包含提示内容的HTML元素,并将其附加到节点上来实现。例如: ``` $(document).on('mouseenter', '.dynamic-node', function() { var $tip = $('<div class="tip">这是一个提示</div>'); $(this).append($tip); }); ``` 在上面的代码中,我们使用$('<div>')创建一个新的div元素,并将提示文本添加到该元素中。然后,我们使用append方法将它添加到当前鼠标的节点中。 最后,我们需要为鼠标节点隐藏tips。这可以通过在mouseleave事件处理程序中删除提示元素来实现。例如: ``` $(document).on('mouseleave', '.dynamic-node', function() { $(this).find('.tip').remove(); }); ``` 在上面的代码中,我们使用find('.tip')选择在鼠标节点创建的提示元素,并使用remove方法将其从节点中删除。 通过上述步骤,我们可以实现通过鼠标动态生成的节点来产生tips的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值