JQuery“二进制锁” 仿真

发布于 2024-07-29 07:25:56 字数 390 浏览 9 评论 0原文

我有一个充满数据的 html 页面。 每当用户将鼠标悬停在条目上时,就会出现一个弹出窗口(类似于工具提示)。 我希望只要用户不在其外部单击,此工具提示就会保留在视图中,并锁定其他工具提示的显示。
我的问题是:如何通过使用标志或其他方法“锁定”其他悬停事件来实现此目的?

编辑: 使用标志的问题:在我的文档中说我准备好了:

var flag = 1; 
flag = Inithoverhandler(flag); 
flag = Inithoverhandler2(flag); 

由于悬停处理程序仅在页面打开时初始化,因此标志永远不会更新。 使用标志作为传入和传出函数的变量的正确结构是什么?

谢谢,
迈克尔

I have an html page full of data. Whenever the user hovers over an entry, a popup window appears (similar to a tooltip). I want this tooltip to stay in view as long as the user does not click outside of it, AND lock out other tooltips from being displayed.
My question is this: How do I "lock out" other hover events, either by using flags, or some other method, to achieve this?

EDIT:
Question with using flags: Say in my document ready I have this:

var flag = 1; 
flag = Inithoverhandler(flag); 
flag = Inithoverhandler2(flag); 

Since the hover handlers are only initialized when the page is opened, flag won't ever get updated. What's the proper structure for using flags as variables being passed in and out of functions?

Thanks,
Michael

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吐个泡泡 2024-08-05 07:25:56

您可以使用标志,或者可以使用 :visible 选择器测试当前可见的窗口数量。 如果为 1,则不显示下一个窗口。

$(".tooltip:visible").length; // how many tooltips are currently showing?
$(".tooltip:visible").hide(); // hide any visible tooltip.

至于仅在当前没有其他可见的情况下显示工具提示:

$(".showTooltip").click(function(){
  if ($(".tooltip:visible").length > 0) return false;
  $(".tooltip", this).show();
});

使用:

<div class="showTooltip">
  <div class=".tooltip"><p>This is the tooltip.</p></div>
</div>

You could use a flag, or you could test how many windows are presently visible using the :visible selector. If it's 1, don't show your next window.

$(".tooltip:visible").length; // how many tooltips are currently showing?
$(".tooltip:visible").hide(); // hide any visible tooltip.

As for only showing tooltips when no other is currently visible:

$(".showTooltip").click(function(){
  if ($(".tooltip:visible").length > 0) return false;
  $(".tooltip", this).show();
});

Working with:

<div class="showTooltip">
  <div class=".tooltip"><p>This is the tooltip.</p></div>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文