在视口中保留绝对定位的元素(jquery)

2024-05-06

我现在正在开发一个带有很多工具提示的网站。我想确保工具提示始终完全显示在视口中。

我知道有工具提示插件,但它们对我不起作用,因为工具提示是通过 css 完成的(而且我不能全部更改!)。任何想要获得工具提示的元素都会被赋予一个position:relative,并且紧接着是一个class='tooltip'的元素 - 这是CSS代码:

.tooltip{
    display:none;
    color: #262626;
    background-color: #FEFEE0;
    padding: 5px 12px;
    position: absolute;
    box-shadow: 0 0 5px #A6A6A6;
    margin-top:-8px;
    z-index: 1000;
}
*:hover + .tooltip {
    display:block ! important;
}
.tooltip:hover{
    display:block;
}

我想做的是,每次显示工具提示时(或每次悬停工具提示之前的元素时),运行一个函数来计算偏移量并确保它适合屏幕(或者移动它,如果不适合) 。

我现在唯一能想到的、我还没有尝试过的事情就是运行类似的东西:

$("*:hover").each(function(e){
  if ($(this).next().hasClass('tooltip')
    //run some positioning function
}

好吧,我不是 jquery 专家,可能上面的内容有问题,我还没有尝试过,但你明白了。但这有意义吗?它会影响性能(以不好的方式)吗?

我花了好几个小时研究这个,却一无所获。任何想法都非常感谢!


对于您的问题,有一个更简单的解决方案。您可以使用position:fixed;根据视口定位元素。据我所知,它只会在 Internet Explorer 7 中失败,所以如果你关心这个,你需要使用 IE7 技巧来模拟固定定位。还,*选择器以及您在那里所做的事情无疑会影响性能。This http://perfectionkills.com/是阅读 CSS 和 JS 分析的好地方。请注意,它非常详细,但绝对值得一读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在视口中保留绝对定位的元素(jquery) 的相关文章

随机推荐

  • 查找当前视图的twig文件

    当我想修改当前视图中的某些内容时 我必须查看操作和控制器 DefaultController indexAction例如 转到操作函数 indexAction 并查看该操作正在渲染什么文件 有没有更快的方法来找出哪个文件 xxxx html
  • 使用资源文件进行本地化不起作用

    我添加了新的 Rosource 文件 UserNotification resx 然后我添加了两个文件进行本地化 并将其命名为 UserNotification hr HR resx 和 UserNotification sl SI res
  • 如何通过 JQuery Post 传递 Javascript 数组,以便可以通过 PHP $_POST 数组访问其所有内容?

    如何通过 JQuery Post 传递 Javascript 数组 以便可以通过 PHP POST 数组访问其所有内容 请展示一个可以实现此目的的代码示例 Thanks 如果你想传递一个 JavaScript 对象 哈希 即 PHP 中的关
  • 如何执行带有参数的命令?

    如何在 Java 中执行带有参数的命令 我试过了 Process p Runtime getRuntime exec new String php var www script php m 2 这是行不通的 String options n
  • CSS 模块:如何禁用文件的本地范围?

    我在一个新的 React 项目中使用 CSS 模块 通过 Webpack css 加载器 尽管它工作得很好 但我在获取 SCSS 时遇到了困难反应选择 https github com JedWatson react select上班 我想
  • 除了 iptables 之外还有数据包管理实用程序吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Linux 实用程序 它可以根据一组规则更改网络数据包的有效负载 理想情况下 我会使用
  • 如何在fragment onCreateView中自定义android标题栏

    我正在尝试通过典型方法更改标题栏的视图 Override public View onCreateView LayoutInflater inflater ViewGroup group Bundle args Window window
  • emberjs 对一条路线使用多个路径/url

    在 Ember 中我可以使用这个 App Router map function this route accomodations 因此 如果访问 accomodations 它将加载该视图 我还可以补充 App Router map fu
  • 使用 javascript 在字符串中查找电子邮件地址

    我想做的是从字符串中提取电子邮件地址SomeName First email protected cdn cgi l email protection 这是我已经尝试过的代码 var stringToSearchIn SomeName Fi
  • 执行按钮单击时使 wpf UI 响应

    在我的 wpf c 应用程序中 当用户按下按钮时会执行一个很长的过程 当按下按钮直到执行完整的代码时 窗口将冻结 用户无法在窗口中执行任何其他任务 如何使按钮单击代码作为后台进程 以便窗口响应用户 我尝试过以下方法 但没有成功 privat
  • 如何默认清空除国家/地区以外的所有 WooCommerce 结帐字段?

    在我的 WooCommerce 结帐页面上 我希望除帐单国家 地区之外的帐单字段为空白 我用它来确保结账表格在填写时是空白的 add filter woocommerce checkout get value return empty st
  • Flex 字典字面量

    在 Flex 中工作 我需要用相当复杂的结构填充字典 基于本文档页面 http livedocs adobe com flex 3 html help html content 10 Lists of data 4 html我尝试通过以下语
  • RequestDispatcher.forward 到媒体文件?

    我最近有一个需要解决的问题 https stackoverflow com questions 19385223 how to transparently stream a file to the browser并找到了一个解决方案 但如果
  • setShadowLayer Android API 差异

    我为我的应用程序开发了一个自定义视图组件 并且正在努力向圆圈添加阴影 这是我的类扩展 View 的代码 public class ChartView extends View public ChartView Context context
  • 第一个字母改为大写

    是否有其他版本可以使每个字符串的第一个字母大写 并且对于 flac perl 也使用 FALSE name lt hallo gsub alpha U 1 name perl TRUE 你可以尝试这样的事情 name lt hallo pa
  • 封闭实例的匿名类

    我正在阅读 Joshua Bloch 的 Effective Java 第二版 目前我在第 22 项 它描述了内部类和嵌套类 但我无法理解他这句话的意思 匿名类具有封闭实例当且仅当它们发生时 在非静态上下文中 有人能给我一个代码示例并解释它
  • UINavigationController:iPad 上正在呈现视图控制器,同时关闭另一个控制器

    我有一个需要用户登录的视图 当用户尝试打开该视图但他尚未登录时 我将调用登录视图供他登录 完成后我将调用他想要的原始视图查看 在 iPhone 上 当我将视图控制器推到那里时 这工作得很好 但在我展示视图控制器的 iPad 上 这不起作用
  • Runtime.getRuntime().exec(),执行Java类

    我正在从我的应用程序内部执行 Java 类 proc Runtime getRuntime exec java Test 我怎样才能识别是否Test执行成功与否 即没有例外 重定向输出 错误 proc Runtime getRuntime
  • 使用 Swift 的无大小写枚举而不是实际情况是否有技术原因?

    作为 Swift 新手 我发现 enum HttpMethod static let post POST static let get GET can assign to string property request httpMethod
  • 在视口中保留绝对定位的元素(jquery)

    我现在正在开发一个带有很多工具提示的网站 我想确保工具提示始终完全显示在视口中 我知道有工具提示插件 但它们对我不起作用 因为工具提示是通过 css 完成的 而且我不能全部更改 任何想要获得工具提示的元素都会被赋予一个position re