jQuery /CSS -获取相对元素的位置,相应位置的工具提示
jQuery /CSS - get position of relative element, position tooltip accordingly
我有一个显示不同位置的地图,当鼠标悬停在上面时,光标旁边会显示一个工具提示,显示有关该位置的信息。
地图是主地图的背景图像,每个位置都是一个li。位置由css使用top和left来定位。
#map是相对定位的,而工具提示是绝对定位的。
我的标记如下:
<ul id="map">
<li><a href="#" class="harewood tip_trigger"><img src="images/marker.gif" width="12" height="12" alt="" /> <span class="tip"><img src="images/thumb.jpg" width="143" height="107" alt="" />Title<br />Click marker for details</span></a></li>
我可以使用jQuery显示和隐藏。tip span没有问题,但我想获得父。tip_trigger的位置,并将工具提示与光标偏移10px。
如何修改下面的jquery代码?
$(document).ready(function() {
//Tooltips
$(".tip_trigger").hover(function(){
var pos = $("#map").position();
var width = $(".tip").width();
tip = $(this).find('.tip');
tip.show(); //Show tooltip
tip.css({"left": (pos.left + width) + "px","top":pos.top + "px" });
}, function() {
tip.hide(); //Hide tooltip
});
});
我已经弄了一段时间了,我试过jquery文档,只是不能弄清楚。
algiecas是正确的,我通常添加一个额外的步骤与each
:
$(document).ready(function() {
//Tooltips
$(".tip_trigger").each(function () {
$(this).hover(function(){
// assuming you give the image the class marker
var pos = $(this).find('marker').position();
tip = $(this).find('.tip');
var width = tip.width();
tip.show(); //Show tooltip
tip.css({"left": (pos.left + width) + "px","top":pos.top + "px" });
}, function() {
tip.hide(); //Hide tooltip
});
});
});
您应该使用.tip_trigger
的位置,而不是整个#map
var pos = $(this).position();
相关文章:
- 我可以't使用jQuery更改工具提示引导程序的位置
- highcharts:更改工具提示和阴影(悬停)的标准位置
- jQuery UI 工具提示位置的奇怪行为
- jQuery:使用插件Tipsy将工具提示附加到鼠标光标位置
- 有没有办法强制工具提示显示在输入元素的特定位置
- 如何在使用 Dojo 的 dijit 下拉按钮时更改工具提示的位置
- 如何动态更改基于目标元素的绝对工具提示的位置
- 更改提示工具提示的重力/位置
- JS:工具提示在图标右侧的相对位置
- 引导工具提示在鼠标光标上的位置
- 工具提示 z 索引位置或其他内容
- 如何更改默认工具提示的位置和标题
- D3 工具提示在使用 JavaScript 的折线图中的位置问题
- 更改引导程序 2.1.1 工具提示在移动设备上的位置
- 3d.js(力)-获取工具提示链接上的当前鼠标位置
- Intro.js更改工具提示位置
- 如何在表中的确切位置显示工具提示
- JQuery UI工具提示-工具提示的位置错误(在页面左侧,而不是按钮周围)
- jQuery工具提示卡在页面左侧,对放置/位置没有响应
- 动态更改引导工具提示的位置