簡體   English   中英

jQuery if else語句的工具提示

[英]Jquery if else statment for tooltip

將鼠標懸停在鏈接上時,會顯示一個工具提示。 我希望如果您將鼠標懸停在工具提示上(因為其中包含鏈接等),或者如果您將鼠標移離鏈接,則工具提示將消失。 我嘗試了幾件事,但還沒有弄清楚。 這是我第一次用jQuery構建任何重要內容。

下面的內容是.hover()'handlerOut'事件中的內容。

if($(this.a).mouseout())
{
    if ($('.tip_container').hover()) {
        $('.tip_container').css('display', 'block');
        $('.tip_container').mouseleave(function() {
        $('.tip_container').remove(0);
    });
} else if ($('.tip_container').hover() == false && $(this.a).mouseoff() == true)
    {
        $('.tip_container').remove(0);
    }
}
>>"this.a" refers to the link<<

借助此操作以及我嘗試過的其他操作,除非將鼠標懸停在工具提示上,否則工具提示不會消失。 我也試過

else if (!$('.tip_container').hover() && $(this.a).mouseoff()) {

是否可以有多個條件?

該代碼的主要思想是,如果您將鼠標懸停在“ this.a”鏈接上,則將通過以下方式刪除工具提示:

$('.tip_container').remove(0);

但是如果您將鼠標懸停在工具提示上,除非將其從工具提示上移開,否則它不會被刪除。

您有小提琴或其他任何要證明的東西嗎?

也許像

$(this, '.tip_container').hover(function () {
        $('.tip_container').show();
  }, function () {
        $('.tip_container').hide();
  }
);

基本上將鏈接和工具提示元素都綁定到懸停方法,該方法在mouseenter / mouseleave上隱藏/顯示工具提示元素。 Pointy發表在評論中的鏈接是一個不錯的起點

經過一夜安眠后,忽略了片刻,我想出了一個解決方案。 這就是我在懸停handlerOut事件中添加的內容。

 var timer;

 timer = setTimeout(function() {
           $('.tip_container').remove();
       }, 500);                     
           $( '.tip_container' ).hover(
       function() {
           clearTimeout(timer);
           $('.tip_container').css('display', 'block');
       }, function() {
           $('.tip_container').remove();
       }
    );

在鼠標懸停在鏈接上之前,它將等待執行刪除,並且如果鼠標懸停在工具提示上,它將清除計時器並將工具提示設置為阻止以保持其顯示,然后在該鼠標懸停在工具提示上時,它將被刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM