2017-07-21 51 views
-1

當If/Else條件爲真時,我想要一個按鈕顯示在我的頁面上。 由於某些奇怪的原因,jQuery方法.show未能顯示按鈕,即使控制檯確認條件爲真,並且該方法應該已經執行。當顯示地點列表時,19應該返回「太遠」並且按鈕保持隱藏,而1返回「this returns true」並且顯示按鈕。jquery按鈕沒有顯示在條件真

至於checkRadius,這是google.maps.geometry.spherical.computeDistanceBetween(標記.POSITION,userMarker.position);當條件返回true(用戶距離場地足夠近)顯示按鈕時,檢查用戶與多個不同場所之間的距離。對不起,如果我的代碼比較冗長,我仍然在學習。我不到6個月!

if(checkRadius <= 35) { 
 
$("#btnId").show(); 
 
console.log("this returns true"); 
 
} else { 
 
console.log("too far away"); 
 
}
#btnId{ 
 
    visibility: hidden; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="btnId">Button</button>

+0

的jsfiddle?沒有辦法知道沒有例子 – jdmdevdotnet

+4

請包括[mcve]。你的代碼片段沒有給出足夠的上下文來解決這個問題。 –

回答

1

的問題是,您使用的是你的CSS它visibility: hidden;變化display: none;,和你想讓它的按鈕就會出現。

function buttonFunc(checkRadius) { 
 
    if(checkRadius <= 18) { 
 
    $("#btnId").show(); 
 
    console.log("this returns true"); 
 
    } else { 
 
    $("#btnId2").hide(); 
 
    console.log("too far away"); 
 
    } 
 
} 
 

 
var checkRadius = 1; 
 
buttonFunc(checkRadius); 
 

 
var checkRadius = 19; 
 
buttonFunc(checkRadius);
#btnId{ 
 
display: none; /* Use this instead of visibility: hidden; */ 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <button id="btnId">Button</button> 
 
    <button id="btnId2">Button 2</button> 
 
</div>

+1

其實只是改變CSS顯示工作完美... 至於checkRadius,它是'google.maps.geometry.spherical.computeDistanceBetween(marker.position,userMarker.position);' 檢查用戶之間的距離,以及多個不同的場地,當條件返回真實(用戶足夠靠近場地)時顯示按鈕。 現在完美運作。對不起,如果我的代碼比較冗長,我仍然在學習。我不到6個月! – Jdenison

+0

這是很好的描述,對你很好!感謝您提供這些額外的信息,將確保在問題中表達。繼續學習:D –

+0

非常感謝您的幫助!!!!!!! 但爲什麼-3?這裏的社區太苛刻了!大聲笑 – Jdenison