【问题标题】:JQuery 'binary lock' emulationJQuery'二进制锁'仿真
【发布时间】:2009-07-19 22:36:04
【问题描述】:

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

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

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

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

谢谢,
迈克尔

【问题讨论】:

    标签: jquery events hover


    【解决方案1】:

    您可以使用一个标志,或者您可以使用 :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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-25
      • 2020-12-14
      • 2014-03-24
      • 1970-01-01
      • 2019-02-25
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多