Javascript 使用.css()定位工具提示
我用CSS创建了一个工具提示,我想把箭头放在每个按钮图标的正上方。我尝试过使用jQuery Mobile,但它对我不起作用,所以现在最简单的方法是手动定位工具提示:( 此外,我还想知道,如果我在不同分辨率的移动应用程序上使用此页面,或者缩小页面大小,手动定位工具提示是否会改变 我尝试使用Javascript 使用.css()定位工具提示,javascript,jquery,html,css,jquery-mobile,Javascript,Jquery,Html,Css,Jquery Mobile,我用CSS创建了一个工具提示,我想把箭头放在每个按钮图标的正上方。我尝试过使用jQuery Mobile,但它对我不起作用,所以现在最简单的方法是手动定位工具提示:( 此外,我还想知道,如果我在不同分辨率的移动应用程序上使用此页面,或者缩小页面大小,手动定位工具提示是否会改变 我尝试使用.offset()在每个按钮id的相对区域获得工具提示类 var CS_x_pos = $("#CS").offset(); var CS_y_pos = $("#CS").offset(); var GH_x
.offset()
在每个按钮id的相对区域获得工具提示类
var CS_x_pos = $("#CS").offset();
var CS_y_pos = $("#CS").offset();
var GH_x_pos = $("#GH").offset();
var GH_y_pos = $("#GH").offset();
//CS
$(".tooltip").css({
left: CS_x_pos,
top: CS_y_pos
});
//GH
$(".tooltip").css({
left: GH_x_pos,
top: GH_y_pos
});
当我尝试时:
var CS_x_pos = $("#CS").offset().left;
var CS_y_pos = $("#CS").offset().top;
我明白了:
我不知道为什么刀尖会落在底部
这是我的JSFIDLE:
我原以为.offset()
会将工具提示放置在相对区域周围,但它仍然非常远=/
有人能帮我或指导我手动定位这些工具提示吗?非常感谢!因为您没有考虑工具提示本身的高度和宽度 计算其高度和宽度,并减去顶部和左侧的值
var width = parseFloat($(".tooltip").css('width'));
var height = parseFloat($(".tooltip").css('height'));
$(".tooltip").css({
left: CS_x_pos - width,
top: CS_y_pos - height
});
因为您没有考虑工具提示本身的高度和宽度 计算其高度和宽度,并减去顶部和左侧的值
var width = parseFloat($(".tooltip").css('width'));
var height = parseFloat($(".tooltip").css('height'));
$(".tooltip").css({
left: CS_x_pos - width,
top: CS_y_pos - height
});
因为您没有考虑工具提示本身的高度和宽度 计算其高度和宽度,并减去顶部和左侧的值
var width = parseFloat($(".tooltip").css('width'));
var height = parseFloat($(".tooltip").css('height'));
$(".tooltip").css({
left: CS_x_pos - width,
top: CS_y_pos - height
});
因为您没有考虑工具提示本身的高度和宽度 计算其高度和宽度,并减去顶部和左侧的值
var width = parseFloat($(".tooltip").css('width'));
var height = parseFloat($(".tooltip").css('height'));
$(".tooltip").css({
left: CS_x_pos - width,
top: CS_y_pos - height
});
有很多与工具提示相关的插件,比如jqueryui或者jqueryui,你可以在谷歌上找到更多 如果您希望它完全使用css,最好的方法是包装工具提示和触发器元素
<div class="holder">
<div class = "tooltip">
<div class = "tooltip_body"> GH is OFF
<div class = "tooltip_arrow"></div>
</div>
</div>
<a class="holder" data-role="button" data-icon="plus"> GH</a>
</div>
“左”和“右”可以将“相对”(如“左:0”或“右:0”)设置为保持架位置(不受更改窗口大小的影响)。只有在希望工具提示相对于保持架居中的情况下,才可以写入
$('.tooltip').each(function(){
var elm=$(this),
holder=elm.closest('.holder');
elm.css({
'bottom':holder.height()+'px',
'left':-(elm.outerWidth()-holder.outerWidth())/2+'px'
});
});
有很多与工具提示相关的插件,比如jqueryui或者jqueryui,你可以在谷歌上找到更多 如果您希望它完全使用css,最好的方法是包装工具提示和触发器元素
<div class="holder">
<div class = "tooltip">
<div class = "tooltip_body"> GH is OFF
<div class = "tooltip_arrow"></div>
</div>
</div>
<a class="holder" data-role="button" data-icon="plus"> GH</a>
</div>
“左”和“右”可以将“相对”(如“左:0”或“右:0”)设置为保持架位置(不受更改窗口大小的影响)。只有在希望工具提示相对于保持架居中的情况下,才可以写入
$('.tooltip').each(function(){
var elm=$(this),
holder=elm.closest('.holder');
elm.css({
'bottom':holder.height()+'px',
'left':-(elm.outerWidth()-holder.outerWidth())/2+'px'
});
});
有很多与工具提示相关的插件,比如jqueryui或者jqueryui,你可以在谷歌上找到更多 如果您希望它完全使用css,最好的方法是包装工具提示和触发器元素
<div class="holder">
<div class = "tooltip">
<div class = "tooltip_body"> GH is OFF
<div class = "tooltip_arrow"></div>
</div>
</div>
<a class="holder" data-role="button" data-icon="plus"> GH</a>
</div>
“左”和“右”可以将“相对”(如“左:0”或“右:0”)设置为保持架位置(不受更改窗口大小的影响)。只有在希望工具提示相对于保持架居中的情况下,才可以写入
$('.tooltip').each(function(){
var elm=$(this),
holder=elm.closest('.holder');
elm.css({
'bottom':holder.height()+'px',
'left':-(elm.outerWidth()-holder.outerWidth())/2+'px'
});
});
有很多与工具提示相关的插件,比如jqueryui或者jqueryui,你可以在谷歌上找到更多 如果您希望它完全使用css,最好的方法是包装工具提示和触发器元素
<div class="holder">
<div class = "tooltip">
<div class = "tooltip_body"> GH is OFF
<div class = "tooltip_arrow"></div>
</div>
</div>
<a class="holder" data-role="button" data-icon="plus"> GH</a>
</div>
“左”和“右”可以将“相对”(如“左:0”或“右:0”)设置为保持架位置(不受更改窗口大小的影响)。只有在希望工具提示相对于保持架居中的情况下,才可以写入
$('.tooltip').each(function(){
var elm=$(this),
holder=elm.closest('.holder');
elm.css({
'bottom':holder.height()+'px',
'left':-(elm.outerWidth()-holder.outerWidth())/2+'px'
});
});
请将代码也包括在你的帖子中。你不必获取整个库,而且也不会有任何伤害。因为你设计的是“移动”,那么你可以期望用户拥有一个操作系统和浏览器,可以处理小的占用空间,并在没有问题的情况下增加几秒钟的“mili”。但是你可以下载任何“片段”只需转到部分并查看复选框。单击
切换所有
即可撤消所有操作。然后向下滚动到窗口小部件
部分并选中工具提示
,从而使您只需下载widgetPlus所需的内容即可下载到SpYk3HH的建议中,尽管引用被公然滥用。:-DLoL@isherwood.+1 to isherwood随机回答,让我哈哈大笑!@SpYk3HH我会尝试一下,让你知道会发生什么!谢谢你的帮助!请在你的帖子中也包含代码。你不必获取整个库,也不会有任何伤害。因为你在设计“手机”,那么你可以期望用户拥有一个操作系统和浏览器,可以处理小的占用空间,并且可以无问题地多用几秒钟。但是你可以下载任何一个“片段”只需转到部分并查看复选框。单击切换所有
即可撤消所有操作。然后向下滚动到窗口小部件
部分并选中工具提示
,从而使您只需下载widgetPlus所需的内容即可下载到SpYk3HH的建议中,尽管引用被公然滥用。:-DLoL@isherwood.+1 to isherwood随机回答,让我哈哈大笑!@SpYk3HH我会尝试一下,让你知道会发生什么!谢谢你的帮助!请在你的帖子中也包含代码。你不必获取整个库,也不会有任何伤害。因为你在设计“手机”,那么你可以期望用户拥有一个操作系统和浏览器,可以处理小的占用空间,并且可以无问题地多用几秒钟。但是你可以下载任何一个“片段”只需转到部分并查看复选框。单击切换所有
即可撤消所有操作。然后向下滚动到窗口小部件
部分并选中工具提示
,从而使您只需下载widgetPlus所需的内容即可下载到SpYk3HH的建议中,尽管引用被公然滥用。:-DLoL@isherwood.+1 to isherwood随意回答让我开心的问题!@SpYk3HH我会尝试一下,让你知道会发生什么!谢谢你的帮助!请在你的帖子中也包含代码。你不必获取整个库,而且不会有任何伤害。因为你是desi