Jquery 获取屏幕上的元素水平位置
我有这个菜单jquery功能:Jquery 获取屏幕上的元素水平位置,jquery,Jquery,我有这个菜单jquery功能: $("#text").click(function(evt) { $("#menu").css({ top: 45, left: evt.pageX }).toggle(); evt.stopPropagation(); }); 它工作正常,但是菜单在鼠标点击的正上方打开,如果我点击字母k(来自点击),它在k上方打开 我希望它始终打开并与上面的图片中的#text div显示在同一行: 我需要改变什么?有没
$("#text").click(function(evt) {
$("#menu").css({
top: 45,
left: evt.pageX
}).toggle();
evt.stopPropagation();
});
它工作正常,但是菜单在鼠标点击的正上方打开,如果我点击字母k(来自点击),它在k上方打开
我希望它始终打开并与上面的图片中的#text div显示在同一行:
我需要改变什么?有没有办法把它修好
您应该使用
offset()
jq方法来获取和设置相关的left
属性:
$("#text").click(function(evt) {
$("#menu").css({
top: 45, // or not hardcoded: $(this).offset().top + 45,
left: $(this).offset().left
}).toggle();
evt.stopPropagation();
});
您应该使用
offset()
jq方法来获取和设置相关的left
属性:
$("#text").click(function(evt) {
$("#menu").css({
top: 45, // or not hardcoded: $(this).offset().top + 45,
left: $(this).offset().left
}).toggle();
evt.stopPropagation();
});
这对@A来说很容易。Wolff@RickJoe这是肯定的,希望你能接受它作为你提问的答案。@Jai-Thx感谢你的好话:)这对@A来说很容易。Wolff@RickJoe这是肯定的,希望你能接受它作为你所问问题的答案。@Jai Thx感谢你的好话:)