【问题标题】:Unable to get this popup to go above the cursor无法将此弹出窗口移到光标上方
【发布时间】:2013-11-25 18:06:00
【问题描述】:

好的,我这里有这个 jsfiddle:http://jsfiddle.net/9RxLM/1751/

我在我的页面中使用它的方式完全一样,因为我无法访问 head 标签,现在只能访问 body。

我不明白如何在实际的 jQuery 中给它一个 .css({marginTop: '-1em'}).,甚至在 .popup CSS 中给它另一个负边距顶部 (margin: -1.5em 10% 0;),但它仍然没有服从并想在任何它想展示的地方展示。

当光标在问号上方时,如何让这个弹出窗口位于弹出窗口下方?

【问题讨论】:

  • 只是一个想法:为什么不使用 jQuery UI 的 tooltip 来代替?

标签: jquery popup cursor-position


【解决方案1】:

要在光标上方定位某些东西,您首先需要光标的坐标。您需要的是event.pageXevent.pageY,然后设置相对于鼠标坐标的CSS 顶部和左侧属性。

我在你的小提琴中改变了这一行:

jQuery(this).prevAll("span.popup:first").stop(true, true).css({top: event.pageY-20}).fadeIn('slow', function() {
     jQuery(this).nextAll("span.parent:first").stop(true, true).addClass("backdrop");

它正在工作:

http://jsfiddle.net/9RxLM/1754/

【讨论】:

  • 好的,所以这在您的测试中效果很好,但由于某种原因它在实时环境中不起作用......在实时环境中,它在页面下方太远了。如果我给它一个最高值0 它甚至不会进入页面的最顶部,所以这里还有其他影响它的东西。但你肯定让我开始并在这里帮助了一点。谢谢+1
  • 啊...尝试将position 设置为fixed 而不是absolute。如果这不起作用,请使用 offset().top 属性而不是 CSS top 属性。
  • 天啊,所以我只是做了var oTop = (jQuery(this).parent().offset().top - jQuery(this).prevAll("span.popup:first").offset().top) - 60;,然后在元素上使用了.css({top: oTop}),这正是我想要的。谢谢你的帮助!你摇滚!
猜你喜欢
  • 2016-06-06
  • 2013-11-23
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 2019-09-10
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
相关资源
最近更新 更多