¿Cómo atenuar toda la pantalla excepto un área fija usando JavaScript?

Dado un documento HTML y la tarea es atenuar toda la pantalla a excepción de uno o algunos elementos. Debe hacerse para llamar la atención del usuario en alguna parte de la página usando JavaScript.

Acercarse:

  • Seleccione los elementos para el enfoque.
  • Use la propiedad box-shadow para hacer visible esa área.

Ejemplo 1: este ejemplo se enfoca en un div de documento HTML y otra parte se oscurece.

<!DOCTYPE HTML> 
<html> 
  
<head> 
    <title> 
        Dim the entire screen except
        a fixed area in JavaScript ?
    </title>     
      
    <style>
        .dim {
            /* For Internet Explorer */
            box-shadow: 0 0 0 1000px rgba(0, 0, 0, .3);
              
            /* For other browsers */
            box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .3);
        }
    </style>
</head>
  
<body style = "text-align:center;"> 
      
    <h1 style = "color:green;" id = "h1"> 
        GeeksForGeeks 
    </h1>
      
    <p id = "GFG_UP" style =
        "font-size: 15px; font-weight: bold;">
    </p>
      
    <button onclick = "GFG_Fun()">
        click here
    </button>
      
    <p id = "GFG_DOWN" style =
        "color:green; font-size: 20px; font-weight: bold;">
    </p>
      
    <script> 
        var up = document.getElementById('GFG_UP');
        up.innerHTML = "Click on button to make everything"
                + " dim on the screen.";
        var down = document.getElementById('GFG_DOWN'); 
        var heading = document.getElementById('h1');
        function GFG_Fun() {
            heading.classList.add('dim');
            down.innerHTML = "Everything becomes dim "
                    + "except heading(h1)";
        }
    </script> 
</body> 
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Ejemplo 2: En este ejemplo, el botón está enfocado, también la propiedad de eventos de puntero establecida en ninguno y otra parte está atenuada.

<!DOCTYPE HTML> 
<html> 
  
<head> 
    <title> 
        Dim the entire screen except
        a fixed area in JavaScript ?
    </title>     
      
    <style>
        .dim {
              
            /* For Internet Explorer */
            box-shadow: 0 0 0 1000px rgba(0, 0, 0, .3);
              
            /* For other browsers */
            box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .3);
            pointer-events: none;
        } 
    </style>
</head>
  
<body style = "text-align:center;" id = "body">  
      
    <h1 style = "color:green;">  
        GeeksForGeeks  
    </h1>
      
    <p id = "GFG_UP" style =
        "font-size: 15px; font-weight: bold;">
    </p>
      
    <button onclick = "GFG_Fun()" id = "button">
        click here
    </button>
      
    <p id = "GFG_DOWN" style = 
        "color:green; font-size: 20px; font-weight: bold;">
    </p>
      
    <script> 
        var up = document.getElementById('GFG_UP');
          
        up.innerHTML = "Click on button to make everything"
                + " dim on the screen.";
        var down = document.getElementById('GFG_DOWN'); 
        var button = document.getElementById('button');
          
        function GFG_Fun() {
          button.classList.add('dim');
          down.innerHTML = "Everything becomes dim"
                + " except button";
        }
    </script> 
</body>  
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *