Jump to content
Vinicius Bazan

Ajuda em javascript

Recommended Posts

 Estou tendo um problema em elaborar o meu código com javascript, estou fazendo um teste em html e css simples pra depois elaborar um website, o objetivo aqui é fazer um relógio pelo JS e ter um contador em baixo desse relógio que vai pegar valores a partir de um switch para esse contador funcionar, isso porque se trata de dados sobre tipos de agressões contra as mulheres, então os cases do switch tem o dado em segundos para executar a formula, uma mensagem inicial e uma mensagem final.

 O usuário teria dois botões, um de cada lado (nesse caso estou usando 2 div com as ID's #btd e #bte, ao apertar esses botões aumentaria o valor de uma variável em +1 ou -1 e isso faria o switch escolher outro case e trocar os dados do contador, mas os dados não são trocados, mantendo as informações iniciais.

 Ao todo tem 4 funções, a função relogio()contador()btd() e bte(), sendo que a btd e bte estão dentro da contador() 

 Estou colocando o codigo dentro do spoiler, se alguém puder me ajudar a achar alguma solução agradeço

 

OBS: Eu nem sei se pode ter uma function dentro da outra, mas como estou aprendendo JS ainda, imagino que assim como outras estruturas (If, Else, Switch, etc...) possa ser possível colocar uma função dentro da outra.

 

Spoiler



<!DOCTYPE html>
<html>
<head>
 <title>javascript</title>
 <meta charset="utf-8">
 
 <style type="text/css">
  #relogio {
   font:bold 28pt arial;
   display: inline-block;
   margin: 100px auto;
   padding: 30px;
   background-color: #FFFF00;
   width: 150px;
   border-radius: 6px;
   box-shadow: 0px 0px 5px rgba(0, 0, 0, .5);

  }
  #contador {
   font:bold 28pt arial;
   display: inline-block;
   margin: 100px auto;
   padding: 30px;
   background-color: #FFFF00;
   width: 500px;
   border-radius: 6px;
   box-shadow: 0px 0px 5px rgba(0, 0, 0, .5);

  }
  #btd {
   font:bold 28pt arial;
   display: inline-block;
   margin: 100px auto;
   padding: 30px;
   background-color: #FF0000;
   width: 30px;
   border-radius: 6px;
   box-shadow: 0px 0px 5px rgba(0, 0, 0, .5);

  }
  #bte {
   font:bold 28pt arial;
   display: inline-block;
   margin: 100px auto;
   padding: 30px;
   background-color: #FF0000;
   width: 30px;
   border-radius: 6px;
   box-shadow: 0px 0px 5px rgba(0, 0, 0, .5);

  }

 </style>
</head>
<body onload="relogio()">
<center>
<div id="relogio">
</div>
</center>
<hr>
<center>
<div id="bte" onclick="bte()"></div>
<div id="contador"> </div>
<div id="btd" onclick="btd()"></div>
</center>
<script type="text/javascript">
 
  var data = new Date()
   var horas = data.getHours()
   var minutos = data.getMinutes()
   var segundos = data.getSeconds()
   var nh = Number(horas.value)
   var nm = Number(minutos.value)
   var ns = Number(segundos.value)
   var rel = (((nh*60+nm)*60+ns)-((nh*60+nm)*60+ns%5))/5

  function relogio() {
   var data = new Date()
   var horas = data.getHours()
   var minutos = data.getMinutes()
   var segundos = data.getSeconds()

   if (horas < 10) {
    horas = "0"+horas
   }
   if (minutos < 10) {
    minutos = "0"+minutos
   }
   if (segundos < 10) {
    segundos = "0"+segundos
   }

   document.getElementById("relogio").innerHTML=horas+":"+minutos+":"+segundos
  }
  window.setInterval("relogio();",1000)

  
    var tipo = Number(0)
  function contador() {

    function btd() {
        tipo = tipo+1
        if (tipo >= 12) {
            tipo = Number(0)
        }  
    }
    function bte() {
         tipo = tipo-1
        if (tipo <= -1) {
            tipo = Number(11)
        }
    }

    switch (tipo) {
        case 0:
            sd = Number(2)
            viol = '<p> A cada 2 segundos, uma mulher é vítima de violência física ou verbal </p>'
            viol2 = '<p> mulheres já foram agredidas física ou verbalmente hoje. </p>'
            break;
        case 1:
            sd = Number(2.6)
            viol = '<p> A cada 2,6 segundos, uma mulher é vítima de ofensa verbal </p>'
            viol2 = '<p> mulheres já foram ofendidas verbalmente hoje. </p>'
            break;
        case 2:
            sd = Number(6.3)
            viol = '<p> A cada 6,3 segundos, uma mulher é vítima de ameaça de violência </p>'
            viol2 = '<p> mulheres já foram ameaçadas hoje. </p>'
            break;
        case 3:
            sd = Number(6.9)
            viol = '<p> A cada 6,9 segundos, uma mulher é vítima de perseguição </p>'
            viol2 = '<p> mulheres já foram perseguidas hoje. </p>'
            break;
        case 4:
            sd = Number(7.2)
            viol = '<p> A cada 7,2 segundos, uma mulher é vítima de violência física </p>'
            viol2 = '<p> mulheres já foram agredidas físicamente hoje. </p>'
            break;
        case 5:
            sd = Number(120)
            viol = '<p> A cada 2 minutos, uma mulher é vítima de arma de fogo </p>'
            viol2 = '<p> mulheres já foram atingidas por tiros hoje. </p>'
            break;
        case 6:
            sd = Number(16.6)
            viol = '<p> A cada 16,6 segundos, uma mulher é vítima de ameça com arma de fogo ou faca </p>'
            viol2 = '<p> mulheres já foram ameaçadas por armas de fogo ou facas hoje. </p>'
            break;
        case 7:
            sd = Number(22.5)
            viol = '<p> A cada 22,5 segundos, uma mulher é vítima de espancamento ou tentativa de enforcamento </p>'
            viol2 = '<p> mulheres já foram espancadas ou sofreram tentativa de estrangulamento hoje. </p>'
            break;
        case 8:
            sd = Number(1.4)
            viol = '<p> A cada 1,4 segundos, uma mulher é vitima de assédio </p>'
            viol2 = '<p> mulheres já foram assediadas hoje. </p>'
            break;
        case 9:
            sd = Number(1.5)
            viol = '<p> A cada 1,5 segundos, uma mulher é vítima de assédio na rua </p>'
            viol2 = '<p> mulheres já foram assediadas na rua hoje. </p>'
            break;
        case 10:
            sd = Number(4.6)
            viol = '<p> A cada 4,6 segundos, uma mulher é vítima de assédio no trabalho </p>'
            viol2 = '<p> mulheres já foram assediadas no trabalho hoje. </p>'
            break;
        case 11:
            sd = Number(6.1)
            viol = '<p> A cada 6,1 segundos, uma mulher é vítima de assédio físico no transporte público </p>'
            viol2 = '<p> mulheres já sofreram assédio físico no transporte público hoje. </p>'
            break;
    }

   var data = new Date()
   var horas = data.getHours()
   var minutos = data.getMinutes()
   var segundos = data.getSeconds()
   var nh = Number(horas)
   var nm = Number(minutos)
   var ns = Number(segundos)
   var rel = (((nh*60+nm)*60+ns)-(((nh*60+nm)*60+ns)%sd))/sd
   if (rel < 10) {
     rel = `0000${rel}`
   } 
    else {
    if (rel < 100) {
     rel = `000${rel}`
    }
    else {
    if (rel < 1000) {
     rel = `00${rel}`
    }
    else {
    if (rel < 10000) {
     rel = `0${rel}`
    }
    }
    }
    }
  
    window.document.getElementById('contador').innerHTML = `${viol} <p>${rel}</p> ${viol2}`
  }
  window.setInterval('contador()',0000)
  
 </script>
</body>
</html>


 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros Amigos,
       
      saudações...
       
      Desculpa a recorrer ao auxílio dos amigos, mas estou com um pequeno problema que não estou conseguindo entender.
       
      A página inicial do meu Sistema tem um CAROUSEL com um SLIDER que deveria iniciar junto com a página. 
      INFELIZMENTE algumas vezes não inicia e para EXECUTAR o o Slider deve pressionar F5.
       
      Algumas vezes quando o Slider inicia depois de um período para o LOOP, não entendo isso.
       
      Abaixo o código do SLIDER.
      /*----------------------------------------*/ /* 01. Main Slider Ativação e Velocidade do Slide /* /* Como consigo resolver esse problema para o Slider INICIAR com um LOOP infinito /* sem ter que ficar atualizando a página ? /* /*----------------------------------------*/ $(".slider_active").owlCarousel({ loop: true, margin: 0, nav: true, autoplay: true, infinite: true, items: 1, autoplayTimeout: 10000, navText: ["<i class='fa fa-caret-left'></i>", "<i class='fa fa-caret-right'></i>"], dots: true, autoHeight: true, lazyLoad: true });  
      Grato,
       
      Cesar
    • By mateus.andriollo
      Boa tarde,
      Tenho alguns campos numéricos q ao fazer uma select gostaria q retornasse uma legenda
       
      exemplo:
      Status: 0=Inativo / 1=Ativo Condição: 1=Funcionando / 2=Em manutenção / 3=Manutenção Interna   
      Seria algo assim, tenho varias tabelas com estes campos... mas tenho q ficar usando replace.
      Existe uma forma de criar uma função para isso? Nem q na função eu tenha que setar nome do campo, ficando assim:
      Legenda('Status',cadastro.status) 
    • By Person
      Estou fazendo um protótipo de e-commerce com aps clássico e sql server, na parte de administração, o usuário administrativo pode alterar o status do pedido,  para isso ele clica no botão de alterar na pagina principal e é redirecionado para um formulário onde tenho as options, para que ele mude o status, coloquei um botão para que ele passe os parâmetros  (id_pedido e id_status_pedido) para a pagina de manutenção, onde é feito o update e o envio de e-mail com as atualizações. Mas quero retirar esse botão e fazer com que, assim que eu clique em uma opção, ele altere, sem eu precisar ser redirecionado para a tela de manutenção, isso com o Ajax se possível.
       
      <body> <% call Abredb() cod = Request.QueryString("cod") evt = Request.QueryString("evt") if cod <> "" then cod = cint(cod) end if if ucase(evt) = "ALT" then sql = "exec SP_TR32_status_frm_SEL" 'Response.Write(sql) 'Response.End() set rs = dbWeb.execute(sql) estrato = rs("id_status_pedido") bot = "Alterar" end if %> <div class="container"> <div class="titulo">Formulario</div> <form action="manu_pedido.asp" method="post" enctype="multipart/form-data"> <div class="detalhes-formulario"> <div class="input-box"> <span class="detalhes">status</span> <select class="form-control" name = "status"> <% do while not rs.eof%> <option value="<%=rs("id_status_pedido")%>"><%=rs("descricao")%></option> <% rs.movenext loop rs.close set rs = nothing %> </select> </div> </div> <button><a href="/treinamento/Thau/mini_mercado/adm/manu_pedido.asp?evt=alt&cod="<%=cod%>"&estrato="<%rs("id_status_pedido")%> </form> </div> <br> </body> <%call Fechadb()%> </html> Abaixo está o código da minha pagina de manutenção, no qual acontece a alteração do status
      <% Function ZerosEsquerda(Num,tam) Dim Zero Num = Trim(Num) Zero = "" For i = Len(Num) To tam - 1 Zero = "0" & Zero Next ZerosEsquerda = Trim(Zero & Num) End Function byteCount = Request.TotalBytes RequestBin = Request.BinaryRead(byteCount) Set UploadRequest = CreateObject("Scripting.Dictionary") BuildUploadRequest RequestBin 'opc = request.QueryString("opc") 'if opc = "" then 'cod = UploadRequest.Item("hfcod").Item("Value") 'botao = UploadRequest.Item("botao").Item("Value") 'estrato = UploadRequest.Item("estrato").Item("Value") 'end if session.LCID = 1046 call Abredb() if botao = "Alterar" then ' ALTERANDO OS DADOS RECEBIDOS NA TABELA sql = "exec SP_TR32_pedido_UPD "&cod&", '"&estrato&"'" 'response.write sql 'response.end dbWeb.execute(sql) str_html = "" str_html = str_html & "<HTML><BODY BGCOLOR=#0000FF>" str_html = str_html & "<h1>produtos</h1>" sql ="SP_TR32_email__itens_sel "&cod&"" set rs = dbWeb.execute(sql) str_html = str_html & "<table>" str_html = str_html & "<thead>" str_html = str_html & " <tr>" str_html = str_html & "<th>Produtos</th>" str_html = str_html & "<th>quantidade</th>" str_html = str_html & " <th>Total</th>" str_html = str_html & "</tr>" str_html = str_html & " </thead>" str_html = str_html & "<tbody>" do while not rs.eof str_html = str_html & "<tr>" str_html = str_html & "<td >"&rs("produto")&"</td>" str_html = str_html & "<td >"&rs("quantidade")&"</td>" str_html = str_html & "<td >"&rs("total")&"</td>" str_html = str_html & "</tr>" rs.movenext loop rs.close set rs = nothing str_html = str_html & " </tbody>" str_html = str_html & "</table>" str_html = str_html & "</BODY></HTML>" sql = "SP_TR32_email_sel "&cod&"" set rs = dbWeb.execute(sql) if estrato<>"" then Set ObjMail = Server.CreateObject("Cdonts.Newmail") objMail.Subject = "Atualização de pedido" objMail.From = "Porto Dourado <contato@email.websupply.com.br>" objMail.To = "request("email")" objMail.BodyFormat = 0 objMail.MailFormat = 0 objMail.Body = "Olá"&" "&rs("nome")&" "&rs("sobrenome")&", </br> Houve uma atualização em seu pedido pedido: "&rs("id_pedido")&" </br> o status mudou para: "&rs("descricao")&" </br> endereço de entrega: "&rs("cep")&", "&rs("rua")&", "&rs("bairro")&", "&rs("numero")&", "&rs("cidade")&", "&rs("Uf")&" </br>Total pedido: "&rs("total_pedido")&" </br> "& str_html &" </br></br>"&" Atentamente,"&" </br> "&"Equipe Porto dourado"&" </br></br> "&"Para entrar em contato com a equipe de suporte, entre em contato com o email ou ligue para nossa central no numero " objMail.Send Set objMail = nothing envio = true %> <script> alert('email com alteração enviado com sucesso!'); </script> <% end if if estrato = 6 then sql = "exec SP_TR32_adm_data_envio_UPD "&cod&"" dbWeb.execute(sql) end if if estrato = 4 then sql = "exec SP_TR32_adm_data_entregue_UPD "&cod&"" dbWeb.execute(sql) end if %> <script> alert("Dados alterado com sucesso!") parent.location = "cst_pedido.asp" </script> <% end if %> <%call Fechadb()%>  
    • By srs1999_
      Tópico
       
      Site em Código
      Sobre desenvolver sites sem o wordpress que ja tá tudo ali feito que seja um site dinâmico ou seja com banco de dados , APIs de pagamento, Painel para o usuário ,  além de todas  as funções que tem no wordpress e você teria propriedade pra explicar sobre detalhes mais técnicos da produção onde no wordpress só quem entende de progrqmação explicaria algum detalhe técnico 
      Então usando basicamente : 
      FRONT END 
      HTML 
       CSS 
      JAVASCRIPT 
      ALGUMA DE BACKEND COMO PHP E BANCO DE DADOS
      Pode se criar sites/sistemas tão bons ou melhores que no wordpress
       
      Fato : o proprio wordpress é feito em php e ate o proprio facebook tbm em php
      Fato 2 :  cerca de 70% dos sites são feitos em Wordpress
       
      Acho esse lance de procurar o caminho mais fácil limita muito a pessoa por exemplo é facil editar imagens no paint bem intuitivo , agora para editar no photoshop com muitas outras possibilidades  acaba sendo importante ir explorando essa elaboração mais difícil  com um mesmo objetivo. No caso do exemplo ( editar imagens )  
       
      Reflexão:
      Vale a pena se dedicar a trabalhar com a ferramenta Wordpress apenas por ser um meio rápido de ganhar dinheiro ?
      Ou trabalhar sem wordpress  usando tudo que exigido pra criar coisas originais mais que não seria tão rápido a produção. Mas creio que além dos sites feitos também geraria a possibildade de vender o sistema web criado para o cliente personalizar .
       
      Você Desenvolveria de que forma :
       Wordpress apenas ?
       
      Conhecer programação pra trabalhar 
      com  Wordpress ?
       
      Produzir tudo só com programação totalmente dinâmico sem  Wordpress?
    • By Joob
      Boas Malta,
       
      Queria ver se me conseguiam ajudar.
      Tenho um Search Bar em Vue,  quando faço uma pesquisa dos ficheiros ou pastas, dá-me sempre como se nada fosse encontrado, ou seja não dá o resultado, imaginemos por exemplo a pasta tem um nome de "Pasta Numero" eu começava a pesquisar com "P" ou com o "N" e supostamente deveria pesquisar tudo o que tem "P" e "N" (pastas e ficheiros).
       
      Resolvido
       
      Obrigado :)
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.