Como criar condiçao If com variável em JavaScript

Sou iniciante em programaçao e estou com problemas para criar uma condiçao com o if em javascript, o codigo é este:

function Horario(){
var Hoje = new Date();
var Horas = Hoje.getHours();
if(Horas < 10){
Horas = “0”+Horas;
}
if(Horas < 23){
alert(“Agora Sao 10 horas!!!”);
}
var Minutos = Hoje.getMinutes();
if(Minutos < 10){
Minutos = “0”+Minutos;
}
var Segundos = Hoje.getSeconds();
if(Segundos < 10){
Segundos = “0”+Segundos;
}

 Elem.innerHTML = Horas+":"+Minutos+":"+Segundos;

} 
window.setInterval("Horario()",1000);

Estou com problemas nesta parte, nao estou conseguindo fazer com que funcione nesta condiçao.

if(Horas = 22){ 
  alert("Agora Sao 10 horas!!!")
} 

Se alguem conseguir me ajudar eu agradeço!!!

Aqui deve ser Horas === 22

O operador = é de atribuição
O operador === é de comparação

Obrigado pela resposta, porém com o operador === o alert continua sem funcionar, será que a função esta escrita de forma errada ???

O valor de horas é 22?

Tente com o operador ==

=: Atribuição
==: Comparação de valor
===: Comparação de tipo e valor

1 curtida

como o @Thiago_Souza2 transformou Horas em string teria que utilizar ==

Nao, o valor recebe o horário que você acessa o arquivo, mas quero fazer com que quando de por exemplo 10 horas ele execute algo

ele quiz dizer a condição

@Ofidomundo mesmo com o operador == o codigo nao funcionou, estou carregando ele em uma pagina html, sera que isto pode tem alguma relaçao com o erro?? Ou a funçao estaria escrita de forma errada??Obg!!

Tenta rodar com o console aberto do Chrome (ou Firefox) e vê se dá erro, talvez possa ser algo que deu errado antes…

No console nao aparece nenhum erro, uso o VS Code e ele também nao mostrou erro algum no codigo, estranho…

Coloque as aspas no número para ver

Posta o código da página, que ai fica mais fácil te ajudar

Green Valley Park
   </table>


 	 <table id="img_status">
	 <th><div>
    <img id="imgSom" width="15px" >
  </div></th>
      </table>
        	  <br/>
  <br/>
  <br/>
	    	  <div id="div">
  <table id="p_andar" cellpadding="7px" cellspacing="5">

  <tr><td id="pontos1" >Home</td></tr>
  <tr><td id="pontos2" class="refletor">REFLETOR</td></tr>
  <tr><td id="pontos3">PORTAO / GAS</td></tr>
  <tr><td id="pontos4">PORTAO / CARRO</td></tr>
  <tr><td id="pontos5">ALARME</td></tr>

  </table>
  </div>


		     	     
     		     		     
	<div id="logo"><img src="logo_pronto.png" width="500"></img></div>	 
	
	<button id="refletor" onclick="OnOff1();" type="button"></button>
	<button id="portao_gas" onclick='OnOff4("02")' type="button"></button>
	<button id="portao_carro" onclick='OnOff6("03")' type="button"></button>				
	<button id="alarme" onclick="OnOff0();" type="button"></button>
	<div id="tabela2">


  <table id="horas">
    <th><SPAN ID="Clock">00:00:00</SPAN>
  </table>
   <br/>	  
  <table id="data">
     <th> <SCRIPT LANGUAGE="JAVASCRIPT">

var now = new Date();
var mName = now.getMonth() +1 ;
var dName = now.getDay() +1;
var dayNr = now.getDate();
var yearNr=now.getYear();
if(dName==1) {Day = “Domingo”;}
if(dName==2) {Day = “Segunda”;}
if(dName==3) {Day = “Terça”;}
if(dName==4) {Day = “Quarta”;}
if(dName==5) {Day = “Quinta”;}
if(dName==6) {Day = “Sexta”;}
if(dName==7) {Day = “Sábado”;}
if(mName==1){Month = “1”;}
if(mName==2){Month = “2”;}
if(mName==3){Month = “3”;}
if(mName==4){Month = “4”;}
if(mName==5){Month = “5”;}
if(mName==6){Month = “6”;}
if(mName==7){Month = “7”;}
if(mName==8){Month = “8”;}
if(mName==9){Month = “9”;}
if(mName==10){Month = “10”;}
if(mName==11){Month = “11”;}
if(mName==12){Month = “12”;}
if(yearNr < 2000) {Year = 1900 + yearNr;}
else {Year = yearNr;}
var todaysDate =(" " + Day + ", " + dayNr + “/” + Month + “/” + Year);

document.write(’ '+todaysDate);

	 </th> 
  </table>
  </div>  

  <div>
  <img id="led" src="led_vermelho.png" width="100"></div>

           

<script>      

  estadoDigital = "OFF";
  estadoDigital1 = "06";




    	  
	 function estar(){
	    document.getElementById("pontos2").style.color = "green" 
          }

  function OnOff1(){
    if (estadoDigital == "ON"){
       
              message = new Paho.MQTT.Message("OFF");
      message.destinationName = '/' + usuario + '/salidaDigital'
       client.send(message);
	   estadoDigital = "OFF";

	}
	
    else if (estadoDigital == "OFF"){

              message = new Paho.MQTT.Message("ON");
      message.destinationName = '/' + usuario + '/salidaDigital'
      client.send(message);
	  estadoDigital = "ON";
	  
    }
  };
                    
  function OnOff0(){
    if (estadoDigital1 == "06"){
       
              message = new Paho.MQTT.Message("05");
      message.destinationName = '/' + usuario + '/salidaDigital'
       client.send(message);
	   estadoDigital1 = "05"; 
	}
	
    else if (estadoDigital1 == "05"){

              message = new Paho.MQTT.Message("06");
      message.destinationName = '/' + usuario + '/salidaDigital'
      client.send(message);
	  estadoDigital1 = "06";

	  
    }
  };	  

  
  
  function OnOff4(dato){
    message = new Paho.MQTT.Message(dato);
    message.destinationName = '/' + usuario + '/salidaDigital'
    client.send(message);
  };

  function OnOff6(dato){
    message = new Paho.MQTT.Message(dato);
    message.destinationName = '/' + usuario + '/salidaDigital'
    client.send(message);
  };	  
  

  function enviarSalidaAnalogica(){
    var dato = document.getElementById("myRange").value;
    message = new Paho.MQTT.Message(dato);
    message.destinationName = '/' + usuario + '/salidaAnalogica'
    client.send(message);
  };
   
  // called when the client connects
  function onConnect() {
    // Once a connection has been made, make a subscription and send a message.
    console.log("onConnect");
    client.subscribe("#");
	
	 
  }
    
  // called when the client loses its connection
  function onConnectionLost(responseObject) {
    if (responseObject.errorCode !== 0) {
      console.log("onConnectionLost:", responseObject.errorMessage);
      setTimeout(function() { client.connect() }, 5000);
    }
  }
    
  // called when a message arrives
  function onMessageArrived(message) {
    if (message.destinationName == '/' + usuario + '/' + 'temperatura') { //acá coloco el topic
        document.getElementById("temperatura").textContent = message.payloadString * -1 + "º" ;
		
		
    }
    if (message.destinationName == '/' + usuario + '/' + 'Status') { //acá coloco el topic
        document.getElementById("imgSom").src = "led_azul_aceso2.png"
		
    }
    if (message.destinationName == '/' + usuario + '/' + 'StatusOFF') { //acá coloco el topic
        document.getElementById("imgSom").src = "led_azul_apagado.png"
		
    }			
    if (message.destinationName == '/' + usuario + '/' + 'pulsador') { //acá coloco el topic
        
        		             if (message.payloadString == "Desligado1"){
          document.getElementById("pontos5").style.border = "1.5px solid #439923 "
        }
        		             else if (message.payloadString == "Ligado1"){
          document.getElementById("pontos5").style.border = "1.5px solid #c4302b"
        }  			        
	}
    if (message.destinationName == '/' + usuario + '/' + 'salidaDigital') { //acá coloco el topic
           document.getElementById("led").src = "led_verde_pisca.gif"
        		             if (message.payloadString == "Desligado"){
          document.getElementById("pontos2").style.border = "1.5px solid #c4302b"
        }
        		             else if (message.payloadString == "Ligado"){
          document.getElementById("pontos2").style.border = "1.5px solid #439923"
        }            

    }
    

    if (message.destinationName == '/' + usuario + '/' + 'salidaAnalogica') { //acá coloco el topic
        document.getElementById("salidaAnalogica").textContent = message.payloadString;
		 g.refresh(message.payloadString);
    }
	
	if (message.destinationName == '/' + usuario + '/' + 'salidaligar') { //acá coloco el topic
        document.getElementById("salidaligar").textContent = message.payloadString;
    }
  }

    function onFailure(invocationContext, errorCode, errorMessage) {
      var errDiv = document.getElementById("error");
      errDiv.textContent = "Could not connect to WebSocket server, most likely you're behind a firewall that doesn't allow outgoing connections to port 39627";
      errDiv.style.display = "block";
    }
	  var Elem = document.getElementById("Clock");
   function Horario(){ 
     var Hoje = new Date(); 
      var Horas = Hoje.getHours(); 
       if(Horas < 10){ 
         Horas = "0"+Horas; 
    } 
     var Minutos = Hoje.getMinutes(); 
     if(Minutos < 10){ 
      Minutos = "0"+Minutos; 
    } 
     var Segundos = Hoje.getSeconds(); 
     if(Segundos < 10){ 
      Segundos = "0"+Segundos; 
     } 
   Elem.innerHTML = Horas+":"+Minutos+":"+Segundos; 
     } 
     window.setInterval("Horario()",1000);
    
    var clientId = "ws" + Math.random();
    // Create a client instance
    var client = new Paho.MQTT.Client("m13.cloudmqtt.com",31671, clientId);
    
    // set callback handlers
    client.onConnectionLost = onConnectionLost;
    client.onMessageArrived = onMessageArrived;
    
    // connect the client
    client.connect({
      useSSL: true,
      userName: usuario,
      password: contrasena,
      onSuccess: onConnect,
      onFailure: onFailure
    });


	

    
</script>

Um pouco grande kkkk

aqui vc transforma todas as variáveis em string, tente:

if(Horas == "22"){ 
alert("Agora Sao 10 horas!!!")
}

Quanto sofrimento gente! :joy:, talvez tenham resolvido, mas segue uma solução interessante:

var dt = new Date('02/08/2018 1:1:1'); //forçar 2 digitos...
var config = {hour: '2-digit', minute: '2-digit', second: '2-digit'};
var horaFormatada = dt.toLocaleString(undefined, config);
document.write(horaFormatada); //01:01:01

Como disse no comentário, o parâmetro dentro de Date é apenas para forçar a apresentação dos 2 digitos que você queria formatar… no seu caso você deve deixar Date() vazio para pegar a hora atual do sistema…

Referência:

Exemplos de códigos usando 2-digit

Dado esse exemplo e olhando a doc da API, você consegue “brincar” para formatar a data também, bons estudos!

1 curtida

Valeuu!! Consegui resolver o problema, que por sinal nao tinha nada a ver com isto, Nao sei porque mas no final do meu codigo essa funçao Horas estava sendo chamada novamente, ai estava dando problema no debug da pagina, Problema Resolvido. KKKKKKKK

1 curtida