2014-12-21 2 views
0

div에 텍스트를 추가하는 코드가 있습니다.div가 보이지 않는 경우 표시

$("#messageBox").addClass('msg-error').text("Your selected date is no longer available due to the appointment duration. Please select an alternative date.").show(); 

다음으로 동일한 div에 텍스트를 추가하여 보여주는 다른 코드가 있습니다.

$("#messageBox").addClass('msg-error').text("Your selected time is no longer available due to the appointment duration. Please select an alternative time.").show(); 

그러나 messageBox div가 아직 표시되지 않은 경우 하단 메시지 만 표시되도록하고 싶습니다. 이것에 대한 내 코드입니다.

if($("#messageBox").not(':visible') || $("#messageBox").css("visibility") == "hidden"){ 
    $("#messageBox").addClass('msg-error').text("Your selected time is no longer available due to the appointment duration. Please select an alternative time.").show(); 
} 

항상 작동하지 않는 것처럼 보입니까?

답변

4

대신이 시도

감사 :

if($("#messageBox").is(':hidden')){ 
    // your existing code 
} 

또는이 문제가 해결됩니다 다른 방법

if($("#messageBox").is(':visible') === false){ 
    // your existing code 
} 

희망.

1

가시성을 전환하는 유일한 방법 인 경우 div #messageBox에 이미 msg-error 클래스가 있는지 확인하는 것이 가장 간단한 방법입니다.

if(!$('#messageBox').hasClass("msg-error")) { 
    $("#messageBox").addClass('msg-error').text("Your selected time is no longer available due to the appointment duration. Please select an alternative time.").show(); 
}