正确的偏移计算,以便在鼠标悬停时显示弹出窗口
Correct offset calculation for displaying popup on mouseover
我正在尝试在鼠标悬停时显示网格的弹出窗口。问题是,我如何显示每个网格从顶部和左侧定位的弹出中心。任何人都可以修改下面的代码来计算正确的偏移量(左和上),在下面的 plunker 代码中,它没有按预期显示结果。感谢您的任何帮助。
普朗克网址
法典:
$(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;}
使用元素属性offsetLeft, offsetTop
和offsetWidth, offsetHeight
。
$(document).ready(function(){
$("ul.listing li").each(function(i){
$(this).hover(function() {
var offsetleft = this.offsetLeft;
var offsettop = this.offsetTop;
$(".popupContainer").hide();
$(".popupContainer").fadeIn(200).html($(this).html()).css({'left': offsetleft - this.offsetWidth/2, 'top': offsettop -this.offsetHeight*1.3});
$(".popupContainer").hover(function(){
$(".popupContainer").show();
}, function(){
$(".popupContainer").hide();
});
}, function() {
$(".popupContainer").hide();
});
});
});
还要添加一些像素以正确对齐。
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- d3.js鼠标悬停鼠标输出问题
- 悬停(鼠标离开)方法不显示效果
- 为什么addEventListener只执行我的函数,而不为其创建鼠标悬停/鼠标打开事件
- 在鼠标悬停/鼠标出类中的任何元素时更改元素 ID
- 检测鼠标悬停/鼠标单击,无论 Z 顺序/图层级别如何
- 悬停/鼠标悬停功能冲突
- 子元素的 JavaScript 鼠标悬停/鼠标退出问题
- 在 iPad 上触发悬停/鼠标退出/模糊
- 如何通过按钮单击和鼠标悬停/鼠标退出显示和隐藏节点文本?D3/JS.
- 背景图像在悬停/鼠标悬停时消失,菜单在IE中不起作用
- jQuery鼠标悬停/鼠标悬停将不适用于Live
- jQuery-悬停以在刷新时触发悬停/鼠标悬停
- 悬停/鼠标悬停未在元素内部的每次移动中激活
- HighCharts条形图:悬停鼠标时显示条形值
- 鼠标悬停/鼠标离开,鼠标进入/鼠标离开,鼠标悬停闪烁问题
- 滚动时未触发鼠标悬停/鼠标输入
- JavaScript-如何在鼠标悬停/鼠标悬停上同时更改TR中所有TD的背景颜色
- 记住并在悬停鼠标悬停后显示以前活动的导航选项卡
- JavaScript延迟CSS悬停/鼠标悬停效果