Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Davi M.

Bug no slider

Recommended Posts

Olá, queria a ajuda de alguém para tentar resolver um bug no meu slider, acontece que aparentemente ele funciona normalmente, mas em algum momento quando volto para olhar-lo as vezes ele começa a trocar as imagens de forma muito rápida, tipo em um e um segundo, mas logo para e funciona normal. Não consegui descobrir o porque. Duvido que vocês vão ter tempo e paciência de ficar olhando para o slider para ver o erro, então queria que vocês apenas olhassem para os códigos do meus slider e me dissesse se tem algo que eu estou fazendo de errado ou que poderia fazer melhor, afim de não term mais chances do slider ter esse bug. Obrigado.

 

Código:

<html>
  <head>
    <title>Slider</title>
    <style>
      /* SLIDER */
      * {
        margin:0;
        padding:0;
      }

      .slides {
          width: 100%;
          height: 100%;
          z-index: 200;
          position: relative;
          border-bottom: ridge blue 5px;
        }

        #imagem1, #imagem2, #imagem3 {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0px;
          z-index: 200;
        }

        #imagem2, #imagem3 {
          display: none;
        }

        #imagem1 {
          display: block;
        }

        /*Botões*/
       #B1, #B2, #B3 {
         z-index: 300;
         font-size: 50px;
       } 

       #B1v, #B2v, #B3v {
        z-index: 300;
        font-size: 50px;
       }

      #pausar1, #pausar2, #pausar3 {
        z-index: 300;
        font-size: 50px;
      }

      #continuar1, #continuar2, #continuar3 {
        z-index: 300;
        font-size: 50px;
        display: none;
      }

      .textoSlider {
        position: relative;
        top: -250px; 
        text-align: center;
        color: white;
        font-size: 30px;
        width: 80%;
        z-index: 300;
      }

      .saberMais {
        font-size: 20px;
        font-weight: bold;
        background-color: #00BFFF;
        width: 150px;
        padding-top: 10px;
        padding-bottom: 10px;
        border-radius: 5px;
        cursor: pointer;
        text-align: center;
        position: relative;
        bottom: 230px;
        z-index: 300;
      }

      .saberMais:hover {
        transform: scale(.9);
        transition: 1s;
        border-radius: 10px;
        background-color: #1E90FF;
      }

      .saberMais a:hover {
          color: orange;
      }

      .saberMais a {
          text-decoration: none;
          color: blue;
      }

      #controle {
          display: flex;
          justify-content: space-between;
      }

      .controleEstilo {
          width: 10%;
          height: 10%;
          margin: 10px;
          text-align: center;
          color: white;
          position: relative;
          bottom: 240px;
      }

      .controleEstilo:hover {
          color: #104af6;
          transition-duration: 1s;
      }

      .introducaoSlider {
          display: flex;
          justify-content: center;
      }

      .tituloSlider {
          font-size: 30px;
          color: red;
      }

      @media only screen and (max-width: 1100px) {
        .textoSlider {
            font-size: 20px;
            width: 95%;
        }
      }      
    </style>
  </head>
  <body>

    <!-- SLIDER -->
    <header>
      <ul>
        <li>
          <div id="imagem1">
              <img src="https://joaobidu.com.br/wp-content/uploads/2017/05/foto-de-lua-crescente-550x367.jpg" class="slides">
              <div class="introducaoSlider">
                <div class="textoSlider">
                  <div class="tituloSlider">Titulo 1</div>
                  <label>Texto, texto texto texto texto texto texto texto texto texto texto texto</label>
                  </div>
              </div>
              <div class="introducaoSlider">
                <div class="saberMais"><a href="#titulo1" class="scroll">Saber Mais</a></div>
              </div>
              <div id="controle">
                <div class="controleEstilo" id="B1v">&#65513;</div>
                <div class="controleEstilo" id="pausar1">&#10073;&#10073;</div>
                <div class="controleEstilo" id="continuar1">&#9655;</div>
                <div class="controleEstilo" id="B1">&#65515;</div>
              </div>
          </div>
        </li>

        <li>
          <div id="imagem2">
              <img src="http://conexaoplaneta.com.br/wp-content/uploads/2016/05/cultivando-fases-da-lua-800.jpg" class="slides">
              <div class="introducaoSlider">
                <div class="textoSlider">
                  <div class="tituloSlider">Titulo 2</div>
                  <label>Texto, texto texto texto texto texto texto texto texto texto texto texto</label>
                  </div>
              </div>
              <div class="introducaoSlider">
                <div class="saberMais" ><a href="#titulo2" class="scroll">Saber Mais</a></div>
              </div>
              <div id="controle">
                <div class="controleEstilo" id="B2v">&#65513;</div>
                <div class="controleEstilo" id="pausar2">&#10073;&#10073;</div>
                <div class="controleEstilo" id="continuar2">&#9655;</div>
                <div class="controleEstilo" id="B2">&#65515;</div>
              </div>
          </div>
        </li>

        <li>
          <div id="imagem3">
              <img src="https://abrilclaudia.files.wordpress.com/2017/11/lua_cheia.jpg" class="slides">
              <div class="introducaoSlider">
                <div class="textoSlider">
                  <div class="tituloSlider">Titulo 3</div>
                  <label>Texto, texto texto texto texto texto texto texto texto texto texto texto</label>
                  </div>
              </div>
              <div class="introducaoSlider">
                <div class="saberMais"><a href="#titulo3" class="scroll">Saber Mais</a></div>
              </div>
              <div id="controle">
                <div class="controleEstilo" id="B3v">&#65513;</div>
                <div class="controleEstilo" id="pausar3">&#10073;&#10073;</div>
                <div class="controleEstilo" id="continuar3">&#9655;</div>
                <div class="controleEstilo" id="B3">&#65515;</div>
              </div>
          </div>
        <li>
      </ul>
    </header>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script>
      //SLIDER


      var counter = 0
      var timer = setInterval(function() {
       
       
        counter++
        console.log(counter)
       
        
        //Troca slider sozinho
        if (counter === 10) {
          $("#imagem1").fadeOut("slow")
          $("#imagem2").fadeIn("slow")
        } else if (counter === 20) {
          $("#imagem2").fadeOut("slow")
          $("#imagem3").fadeIn("slow")
        } else if (counter === 30) {
          $("#imagem3").fadeOut("slow")
          $("#imagem1").fadeIn("slow")
          //reset
        } else if (counter > 30) {
          counter = 0
        }

         //Pausar/Continuar slider 1
        $("#pausar1").click(function() {
          counter = Number.NEGATIVE_INFINITY
        })
        $("#continuar1").click(function(){
          counter = 0
        })

        //Pausar/Continuar slider 2
        $("#pausar2").click(function() {
          counter = Number.NEGATIVE_INFINITY
        })
        $("#continuar2").click(function(){
          counter = 10
        })

        //Pausar/Continuar slider 3
        $("#pausar3").click(function() {
          counter = Number.NEGATIVE_INFINITY
        })
        $("#continuar3").click(function(){
          counter = 20
        })

      }, 500);


      //variaves usadas para pausar/continuar slider
      let continuar1 = $("#continuar1")
      let continuar2 = $("#continuar2")
      let continuar3 = $("#continuar3")
      let pausar1 = $("#pausar1")
      let pausar2 = $("#pausar2")
      let pausar3 = $("#pausar3")


      //Se clicar em pausar1 slide, pausar1 some e aparece continuar1
      pausar1.click(function(){
          //pausar some
          $("#pausar1").css('display', 'none')
          //continuar aparece
          $("#continuar1").css('display', 'block')
        })
        
        //Se cliclar em continuar1, continuar1 some e aparece pausar1
        continuar1.click(function(){
          //continuar some
          $("#continuar1").css('display', 'none')
          //pausar aparece
          $("#pausar1").css('display', 'block')
        })

      //Se clicar em pausar2 slide, pausar2 some e aparece continuar2
      pausar2.click(function(){
          //pausar some
          $("#pausar2").css('display', 'none')
          //continuar aparece
          $("#continuar2").css('display', 'block')
        })
        
        //Se cliclar em continuar2, continuar2 some e aparece pausar2
        continuar2.click(function(){
          //continuar some
          $("#continuar2").css('display', 'none')
          //pausar aparece
          $("#pausar2").css('display', 'block')
        })
        
        //Se clicar em pausar3 slide, pausar3 some e aparece continuar3
      pausar3.click(function(){
          //pausar some
          $("#pausar3").css('display', 'none')
          //continuar aparece
          $("#continuar3").css('display', 'block')
        })
        
        //Se cliclar em continuar3, continuar3 some e aparece pausar3
        continuar3.click(function(){
          //continuar some
          $("#continuar3").css('display', 'none')
          //pausar aparece
          $("#pausar3").css('display', 'block')
        })
        

      //Avançar
      $("#B1").click(function() {
        counter = counter = 10
        $("#imagem1").fadeOut("slow")
        $("#imagem2").fadeIn("slow")
      })

      $("#B2").click(function() {
        counter = counter = 20 
        $("#imagem2").fadeOut("slow")
        $("#imagem3").fadeIn("slow")
      })

      $("#B3").click(function() {
        counter = counter = 30
        $("#imagem3").fadeOut("slow")
        $("#imagem1").fadeIn("slow")
      })

      //Voltar
      $("#B1v").click(function() {
        counter = counter = 20
        $("#imagem1").fadeOut("slow")
        $("#imagem3").fadeIn("slow")
      })

      $("#B3v").click(function() {
        counter = counter = 10
        $("#imagem3").fadeOut("slow")
        $("#imagem2").fadeIn("slow")
      })

      $("#B2v").click(function() {
        counter = counter = 0
        $("#imagem2").fadeOut("slow")
        $("#imagem1").fadeIn("slow")
      })


      //Para arruamar bug no firefox que não aceita height:100% no modo celular
      var firefox  = navigator.userAgent.indexOf('Firefox') > -1;
      if (window = firefox){
        alert("Firefox")
        if (window.innerWidth < 1000) {
          $(".slides").css('max-height', '580px')
          $("header").css('max-height', '580px')
          alert("1000")
        } 
      }    
    </script>
  </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.

      Estou com uma pequena dúvida se é possível ser realizado.

      Preciso passar 2 IDs para o Sistema executar a função, estou utilizando desta forma e gostaria de saber como faço via JS para passar os parâmetro que preciso.

      Observação:
      Dentro da TABELA utilizei 2 Forms, para passar os IDS que preciso, funcionou conforme código abaixo.
      <div class="card-body"> <table id="tab_clie" class="table table-bordered table-hover"> <thead> <tr> <th style="text-align:center; width:10%;">Pedido Nº</th> <th style="text-align:center; width:10%;">Data Pedido</th> <th style="text-align:center; width:32%;">Fornecedor</th> <th style="text-align:center; width:10%;">Status</th> <th style="text-align:center; width:5%;">Ação</th> </tr> </thead> <tbody> <?php foreach ($results as $r) { $dta_ped = date(('d/m/Y'), strtotime($r->dataPedido)); switch ($r->pd_status) { case '1': $status = '&nbsp;&nbsp;Aberto&nbsp;&nbsp;'; $txt = '#FFFFFF'; //Cor: Branco $cor = '#000000'; //Cor: Preta break; case '2': $status = 'Atendido Total'; $txt = '#FFFFFF'; //Cor: Branco $cor = '#086108'; //Cor: Verde break; case '3': $status = 'Atendido Parcial'; $txt = '#000000'; //Cor: Branco $cor = '#FEA118'; //Cor: Amarelo break; default: $status = 'Cancelado'; $txt = '#FFFFFF'; //Cor: Branco $cor = '#D20101'; //Cor: Vermelho break; } echo '<tr>'; echo '<td width="10%" height="10" style="text-align:center;">'.$r->pd_numero.'</td>'; echo '<td width="10%" height="10" style="text-align:center;">'.$dta_ped.'</td>'; echo '<td width="32%" height="10" style="text-align:left;">'.$r->nome.'</td>'; echo '<td width="10%" height="10" style="text-align:left;"><span class="badge" style="color:'.$txt.'; background-color:'.$cor.'; border-color:'.$cor.'">'.$status.'</span></td>'; echo '<td width="5%" style="text-align:center;">'; ?> <div class="row"> <?php if($this->permission->checkPermission($this->session->userdata('permissao'), 'vPedido')){ ?> <form action="<?= base_url() ?>compras/pedidos/visualizar" method="POST" > <input type="hidden" name="idPedido" value="<?php echo $r->idPedidos; ?>"> <input type="hidden" name="nrPedido" value="<?php echo $r->pd_numero; ?>"> <button class="btn btn-warning" title="Visualizar" style="margin-left:50%; padding: 1px 3px;"><i class="fa fa-search icon-white"></i></button> </form> <?php } if($this->permission->checkPermission($this->session->userdata('permissao'), 'ePedido')){ ?> <form action="<?= base_url() ?>compras/pedidos/editar" method="POST" > <input type="hidden" name="idPedido" value="<?php echo $r->idPedidos; ?>"> <input type="hidden" name="nrPedido" value="<?php echo $r->pd_numero; ?>"> <button class="btn btn-primary" title="Editar" style="margin-left:50%; padding: 1px 3px;"><i class="fa fa-edit icon-white"></i></button> </form> <?php } ?> </div> <?php echo '</td>'; echo '</tr>'; } ?> </tbody> </table> </div>
      Grato,

      Cesar.
    • Por belann
      Olá!
       
      Estou usando o editor quill em uma página html, sem fazer a instalação com npm, mas usando as api´s via internet com http, no entanto não consigo fazer a tecla enter funcionar para mudança de linha, tentei essa configuração abaixo, mas não funcionou.
       
      modules: {       syntax: true,       toolbar: '#toolbar-container',       keyboard: {         bindings: {           enter: {             key: 13,             handler: function(range, context) {                       quill.formatLine(range.index, range.length, { 'align': '' });             }           }  
       
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de poder tirar uma dúvida com os amigos.
       
      Como faço uma função para Comparar a Data Digitada pelo o Usuário com a Data Atual ?

      Data Digitada:  01/09/2024
       
      Exemplo:
      25/09/2024 é menor que DATA Atual  ====> mensagem: informe uma data válida.
      25/09/2024 é igual DATA Atual ===> o sistema libera os INPUT's.
       
      Como faço uma comparação com a Data Atual, para não Deixar Gravar Data retroativa a data Atual.
       
      Grato,
       
      Cesar
    • Por Rafael Castelhano
      Olá, quero preencher um dict dinamicamente onde a chave é uma string multidimencional no dict, ex:
      var dict = {} var path = 'a.b.c' dict[path] = 55 // isso faz dict ficar desta forma {'a.b.c': 55} // mais quero que fique assim {a: {b: {c: 55}}} Como consigo alterar desta forma? 
    • Por violin101
      Caros amigos, saudações.
       
      Estou com um problema de cálculo que não estou conseguindo resolver.
       
      Tenho uma rotina em Javascript que faz o seguinte cálculo qtde x vrUnit = total.
       
      qtde   x  vrUnit    =    total
      1,23   x  1,00       =    1,23    << até aqui tudo bem.
       
      o problema seria fazer o arredondamento para cima para impedir de fazer este cálculo:
      0,01 x 0,01 = 0,0001
       
      para digitar o valor estou utilizando esta função:
       
      /*Esta função quando o usuário digitar o valor aparece * 1,23 */ function formataDigitacao(i) { //Adiciona os dados para a másrcara var decimais = 2; var separador_milhar = '.'; var separador_decimal = ','; var decimais_ele = Math.pow(10, decimais); var thousand_separator = '$1'+separador_milhar; var v = i.value.replace(/\D/g,''); v = (v/decimais_ele).toFixed(decimais) + ''; var splits = v.split("."); var p_parte = splits[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, thousand_separator); (typeof splits[1] === "undefined") ? i.value = p_parte : i.value = p_parte+separador_decimal+splits[1]; } /*Esta função faz a multiplicação entre Valor Unitário X Quantidade *faz a multiplicação correta */ function calcProd(){ //Obter valor digitado do produto var prod_qtde = document.getElementById("qtde").value; //Remover ponto e trocar a virgula por ponto while (prod_qtde.indexOf(".") >= 0) { prod_qtde = prod_qtde.replace(".", ""); } prod_qtde = prod_qtde.replace(",","."); //Obter valor digitado do produto var valor_unit = document.getElementById("vlrunit").value; //Remover ponto e trocar a virgula por ponto while (valor_unit.indexOf(".") >= 0) { valor_unit = valor_unit.replace(".", ""); } valor_unit = valor_unit.replace(",","."); //Calcula o Valor do Desconto if (valor_unit > 0 && prod_qtde > 0) { calc_total_produto = (parseFloat(valor_unit) * parseFloat(prod_qtde)); var numero = calc_total_produto.toFixed(2).split('.'); //<<== aqui faço o arredondamento das casas decimais de 1,234 p/ 1,23 numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.'); document.getElementById("vlrtotal").value = numero.join(','); } else { if (valor_unit > 0) { document.getElementById("vlrtotal").value = document.getElementById("vlrunit").value; } else { document.getElementById("vlrtotal").value = "0,00"; } } } Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.