Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

314
Visualizações
Desenfocar todos menos un elemento en el cuerpo

Estoy tratando de desenfocar todo en la pantalla excepto la animación de carga. Esto es lo que he probado.

 $("#addall").click(function() { $('#loading').show(); $('body:not(#loading)').css("filter", "blur(3px)"); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="simple-loading" style="display: none" id="loading"> <div class="active dimmer"> <div class="text loader">Loading...</div> </div> </div> <div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec placerat id nisi eget egestas. <a id="addall" href="javascript:void(0)">Load.</a> Nullam luctus ac ipsum vel blandit. Cras eu felis ac lorem porta egestas. Sed interdum cursus ligula, sit amet euismod velit volutpat at. Fusce luctus scelerisque mollis. Praesent ligula neque, vehicula elementum justo sed, egestas accumsan eros. Suspendisse at est eget nunc efficitur vestibulum. Suspendisse potenti. Pellentesque quis fermentum ligula.</div>

También he probado

 $("body").each(function(event) { if (event.target.id != "loading") { $(this).css("filter","blur(3px)"); } });

y nunca funciona... ¿Hay alguna buena solución?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

El problema es que su selector funciona en todos los elementos del body y luego elige los que no tienen ID loading . Dado que solo hay un elemento de body y, de hecho, no tiene este ID, se selecciona. Por supuesto, esto no es lo que quieres. Desea seleccionar todos los elementos secundarios del elemento del body y luego filtrar aquellos que no tienen la ID de loading .

El selector debe ser body > *:not(#loading) .

Para aclarar: este selector selecciona todos los elementos ( * )...
...que son hijos del cuerpo ( body > * )
... y no tiene ID cargando ( *:not(#loading) ).

Esto usa el selector de niños ( spec ) y la pseudo-clase de negación :not() ( spec ).

 body > *:not(#loading) { background: #ffd83c; filter: blur(3px); } div, p { margin: 10px; padding: 5px; }
 <div>Some DIV.</div> <div id="loading">Loading DIV</div> <div>Some other DIV.</div> <p>A paragraph.</p>

over 4 years ago · Santiago Trujillo Relatório

0

Prueba esto

Puede lograr esto usando solo css. SIN NECESIDAD DE JQUERY

Por favor vea el siguiente código

 body > *:not(#loading) { filter: blur(3px); }
 <div>Some DIV.</div> <div id="loading">Loading DIV <div style='padding:15px;'>Some other DIV inside loading div.</div> </div> <div>Some other DIV.</div> <p>A paragraph.</p>

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

Desafortunadamente , no puede desenfocar un nodo HTML sin desenfocar sus elementos secundarios .

Una solución es poner su contenido y cargar la imagen en dos div s dentro de un div principal como el siguiente.

 <div id="parent_div" style="position:relative;height:300px;width:300px;"> <div id="background" style="position:absolute;top:0;left:0;right:0;bottom:0;background-color:red;filter: blur(3px);z-index:-1;"></div> <div id="loading">Spinner...</div> </div>

Para desenfocar/desenfocar simplemente haga $('#background').css('filter', 'blur(3px)) .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda