2016-08-05 85 views
1

我的網頁底部有六個按鈕,每個按鈕都有一個隱藏的「彈出」div,當您將鼠標懸停在按鈕上時,它會上升並淡入。此功能可以正常工作,但由於按鈕靠得很近,因此當您將鼠標從一個按鈕懸停到另一個按鈕時,通常可以使兩個按鈕重疊。If Else CSS Hovercode not working in jQuery

我試圖建立一些jQuery代碼,只允許css的'上升和淡入'的變化發生,如果所有其他彈出窗口低於頁面的底部。這將允許所有的彈出窗口在當前懸停的按鈕彈出之前進行重置。

不幸的是,代碼無法正常工作。 沒有的彈出窗口現在正在改變它們的懸停CSS。

這是一個特定按鈕的代碼。

$('#chrome').hover(
      function() { 

       if (
       $("#inuithoverpopup").css("bottom") < '-130%' && 
       $("#bloghoverpopup").css("bottom") < '-130%' && 
       $("#cchoverpopup").css("bottom") < '-130%' && 
       $("#cwlhoverpopup").css("bottom") < '-130%' && 
       $("#blhoverpopup").css("bottom") < '-130%' && 
       ) { 
       $('#chromehoverpopup').animate({ 
        opacity: '1', 
        bottom: '95%' 
       }, 300); 
      } 

    }, 

    function() { 
      $('#chromehoverpopup').animate({ 
        opacity: '0', 
        bottom: '-159%' 
      }, 300); 

      }); 

任何人都可以看到我在這裏做錯了嗎?

+2

您不能在兩個字符串值上使用'<'運算符並獲得可靠的結果。您需要將'.css('bottom')'解析爲一個整數,並將其與一個整數進行比較 –

回答

3

在嘗試使用數字邏輯運算符之前,需要將字符串轉換爲Number

嘗試

parseInt($("#inuithoverpopup").css("bottom")) < -130 

注意,返回的值將是像素,而不是%如你預期,因此相應調整的130%值。