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

16 respostas
programaçãojava
T

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!!!

16 Respostas

Mike

Aqui deve ser Horas === 22

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

T

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

Mike

O valor de horas é 22?

RoinujNosde

Tente com o operador ==

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

Ofidomundo

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

T

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

Ofidomundo

ele quiz dizer a condição

T

@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!!

Ofidomundo

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

T

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

Ofidomundo

Coloque as aspas no número para ver

Mike

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

T
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

Ofidomundo

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

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

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!

T

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

Criado 23 de julho de 2018
Ultima resposta 20 de ago. de 2018
Respostas 16
Participantes 5