javascript - 鼠标悬停时显示弹出窗口的正确偏移计算

标签 javascript jquery css

我正在尝试在鼠标悬停时显示网格的弹出窗口。问题是,如何为每个网格显示从顶部和左侧定位的弹出中心。任何人都可以修改下面的代码来计算正确的偏移量(左和上),在下面的 plunker 代码中,它没有按预期显示结果。感谢您的帮助。

PLUNKER URL

代码:

$(document).ready(function(){
  $("ul.listing li").each(function(i){
            var offset = $(this).offset();
            console.log("index->" +i + "<-index " +"left - "+ offset.left+ "<br/> top - "+offset.top);
                $(this).hover(function() {
                    $(".popupContainer").hide();
                    $(".popupContainer").fadeIn(200).html($(this).html()).css({'left': offset.left/3, 'top': offset.top});
                    $(".popupContainer").hover(function(){
                        $(".popupContainer").show();    
                    }, function(){
                        $(".popupContainer").hide();
                    });
                }, function() {
                    $(".popupContainer").hide();
                });
        });
});

最佳答案

你为什么不这样试试 https://plnkr.co/edit/a9zkLP?p=preview

js:

$(document).ready(function(){
    $("ul.listing li").each(function(i){
        var pop = $('<div class="popupContainer"></div>').html($(this).html());
        $(this).append(pop);
    })
});

CSS:

ul.listing li{
  position: relative;
}

.popupContainer{
    position: absolute;
    transform:translate(-50%,-50%);
    top:0;
    left:0;
  }
  ul.listing li:hover .popupContainer{display: block;}

关于javascript - 鼠标悬停时显示弹出窗口的正确偏移计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35163514/

相关文章:

javascript - 通配符/动态 div id 未通过 $(this) 获取值

javascript - 如何知道某个ip地址浏览了所有链接?

jquery - 单击时如何使用 Bootstrap 按钮显示动画 gif

html - 点领导者跨越过多的线

css - 宽度 : 100%; height: auto dont work properly

javascript - 内容 slider 问题 javascript

java - jmesa 将 html 呈现为文本

javascript - 如何在我的Grails应用程序的单个页面上使用AngularJS,并在其他页面上使用常规JS?

javascript - 使用.load方法监听使用后的点击事件

html - 设置背景图像不透明度 CSS