Gallery

miércoles, 21 de octubre de 2026

JS - Slider automático en lugar específico

 Slider automático con javascript con botones


Código para pegar para tu sitio web.

<!------ SLIDER AUTOMÁTICO ------>

<div id="slider_unknowns">

      <div id="driver_car">
       
        <div class="buttons">
          <button id="prev"><i class="fas fa-arrow-left"></i></button>
          <button id="next"><i class="fas fa-arrow-right"></i></button>
        </div>

        <div class="slider">
          <div class="slide current">
            <h4 style="margin-bottom: 20px;">Gato Jujuy de los Andes</h4>
          </div>
          <div class="slide">
            <h4 style="margin-bottom: 20px;">Musaraña elefante</h4>
          </div>
          <div class="slide">
            <h4 style="margin-bottom: 20px;">Mono de Myanmar</h4>
          </div>
          <div class="slide">
            <h4 style="margin-bottom: 20px;">Aye aye</h4>
          </div>
          <div class="slide">
            <h4 style="margin-bottom: 20px;">Antilope saiga</h4>
          </div>
        </div>
      </div>
</div>

/****** SLIDER AUTOMÁTICO ******/
#slider_unknowns{
  width: 100%;
  height: 90vh;
  background: rgb(255, 255, 255);
  display: flex;
  align-items: center;
  justify-content: center;
}
#driver_car{
    width: 100%;
    height: 80vh;
    display: flex;
    align-content: center;
    justify-content: center;
    position: absolute;
    z-index: 0;
    margin: 50px 0px;
}
.slider {
    width: 70%;
    height: 100%;
    position: relative;
    z-index: 1;
  }
  .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
   
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .slide.current {
    opacity: 1;
  }
  .buttons button#next {
    position: absolute;
    top: 40%;
    right: 25px;
    z-index: 2;
  }
 
  .buttons button#prev {
    position: absolute;
    top: 40%;
    left: 25px;
    z-index: 2;
  }
 
  .buttons button {
    border: 2px solid #fff;
    background-color: rgb(0, 140, 255);
    color: rgb(255, 255, 255);
    cursor: pointer;
    padding: 13px 15px;
    border-radius: 50%;
    outline: none;
  }
 
  .buttons button:hover {
    background-color: rgb(0, 161, 13);
    color: #333;
  }


// SLIDER AUTOMÁTICO
const slides = document.querySelectorAll('.slide');
const next = document.querySelector('#next');
const prev = document.querySelector('#prev');
const auto = true; // Auto scroll
const intervalTime = 5000;
let slideInterval;

const nextSlide = () => {
  // Get current class
  const current = document.querySelector('.current');
  // Remove current class
  current.classList.remove('current');
  // Check for next slide
  if (current.nextElementSibling) {
    // Add current to next sibling
    current.nextElementSibling.classList.add('current');
  } else {
    // Add current to start
    slides[0].classList.add('current');
  }
  setTimeout(() => current.classList.remove('current'));
};

const prevSlide = () => {
  // Get current class
  const current = document.querySelector('.current');
  // Remove current class
  current.classList.remove('current');
  // Check for prev slide
  if (current.previousElementSibling) {
    // Add current to prev sibling
    current.previousElementSibling.classList.add('current');
  } else {
    // Add current to last
    slides[slides.length - 1].classList.add('current');
  }
  setTimeout(() => current.classList.remove('current'));
};

// Button events
next.addEventListener('click', e => {
  nextSlide();
  if (auto) {
    clearInterval(slideInterval);
    slideInterval = setInterval(nextSlide, intervalTime);
  }
});

prev.addEventListener('click', e => {
  prevSlide();
  if (auto) {
    clearInterval(slideInterval);
    slideInterval = setInterval(nextSlide, intervalTime);
  }
});

// Auto slide
if (auto) {
  // Run next slide at interval time
  slideInterval = setInterval(nextSlide, intervalTime);
};



CSS - Flip card

 Crea tu flip card para tu sitio web


Código solo para copiar y pegar...

<!------ FLIP CARD ------>
  <h1>Descubre +más galerías de fotos... </h1>
 
  <div class="contenedor-fc">
    <div class="flip-container">
        <div class="card">
          <div class="front">
            <h2>Zoo</h2>
          </div>
          <div class="back">
            <!-- Aquí va el contenido-->
            <a href="../p/zoo.html">Acceso</a>

          </div>
        </div>
    </div>
   
    <div class="flip-container">
        <div class="card card5">
          <div class="front front5">
            <h2>Animales Marinos</h2>
          </div>
          <div class="back back5">
            <!-- Aquí va el contenido-->
            <a href="../animales/marinos.html">Acceso</a>

          </div>
        </div>
    </div>

    <div class="flip-container">
        <div class="card card6">
          <div class="front front6">
            <h2>Animales Aéreos</h2>
          </div>
          <div class="back back6">
            <!-- Aquí va el contenido-->
            <a href="../animales/aereos.html">Acceso</a>

          </div>
        </div>
    </div>

  </div>

CSS

/*************** FLIP ***************/
.contenedor-fc{
  width: 100%;
  height: auto;
  max-height: auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  padding-top: 25px;
  padding-bottom: 50px;
  background: white;
}
/* FONDO DE FLIP */
.flip-container {
  background-color: rgb(7, 0, 49);
  width: 250px;
  height: 350px;
  perspective: 1000px;
  margin: 20px 30px;
  -webkit-box-shadow: 10px 15px 18px 1px rgba(0,0,0,0.75);
  -moz-box-shadow: 10px 15px 18px 1px rgba(0,0,0,0.75);
  box-shadow: 10px 15px 18px 1px rgba(0,0,0,0.75);
}
.card {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 1s;
  transform-style: preserve-3d;
}
.flip-container:hover .card {
  transform: rotateY(180deg);
}
.front, .back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items:first baseline;
  justify-content: end;
  font-size: 1.3rem;
}
.front {
  background: url(https://img2.wallspic.com/
previews/9/7/1/0/7/170179/170179-lion-tiger-zoo-dartmoor_zoo-berlin_zool
ogical_garden-500x.jpg) no-repeat center center /cover;
}
.front2{
  background: url(https://images.pexels.com/
photos/20546357/pexels-photo-20546357/free-photo-of-a-bearded
-lizard-sitting-on-a-rock.jpeg?cs=tinysrgb&dpr=1&w=500)
no-repeat center center /cover;
}
.front3{
  background: url(https://i.pinimg.com/736x/05/
7b/f7/057bf739f482e88cf2039e6b35deca6e.jpg) no-repeat center center /cover;
}
.front4{
  background: url(https://i.pinimg.com/736x/cc/d2/
f6/ccd2f6d9287a2ed64f998c791b31b537.jpg) no-repeat center center /cover;
}
.front5{
  background: url(https://wallpapers.com/images/hd/
turtle-background-xzvpa5t49wbjntpd.jpg) no-repeat center center /cover;
}
.front6{
  background: url(https://i.pinimg.com/236x/90/86/b3/
9086b3c19c2241874d2574a514cdcf39.jpg) no-repeat center center /cover;
}

  .tiposdepicos h3{
    text-align: center;
    font-size: 2rem;
    margin-bottom: 30px;
    padding: 0px 15px;
  }
.back {
   background: url(https://wallpaper.forfun.com/fetch/
d4/d42699333f55f4068f92d16196eb0773.jpeg) no-repeat center center /cover;
   transform: rotateY(180deg);
   display: flex;
   flex-flow: column;
   align-items: center;
   justify-content: end;
}
.back2{
   background: url(https://i.pinimg.com/736x/f5/a3/ee/
    f5a3eece3cba943ba0bba0a47d9617a2.jpg) no-repeat center center /cover;
}
.back3{
   background: url(https://img.magnific.com/foto-gratis/
libelula-brillante-sombras-neon_23-2151457806.jpg?semt=ais_hybrid&w=740&q=80)
no-repeat center center /cover;
}

.back4{
   background: url(https://images.stockcake.com/public/
f/4/4/f449aee3-6eb2-475b-963e-5227def635a9_large/dinosaur-by-lake-stockcake.jpg)
no-repeat center center /cover;
}
.back5{
   background: url(https://img.magnific.com/foto-gratis/
ilustracion-arte-digital-caballo-mar_23-2151546936.jpg?semt=ais_hybrid&w=740&q=80)
no-repeat center center /cover;
}
.back6{
   background: url(https://img.magnific.com/free-photo/
fantasy-bird-illustration_23-2151496108.jpg?semt=ais_hybrid&w=740&q=80)
no-repeat center center /cover;
}
.back a{
  background: rgb(20, 18, 18);
  color: rgb(239, 224, 224);
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  line-height: 30px;
  padding: 3px 20px;
  margin: 1px 0px;
  transition: .2s all linear;
}
.back a:hover{
  color: rgb(255, 245, 52);
  background: rgb(38, 32, 0);
  }

JS - Fecha en tu sitio web

 Agrega la fecha en tu página web con Javascript


Solo para copiar y pegar.. Puede ser en el mismo html o en archivos separados.


   <span id="fecha-actual"></span>


#fecha-actual{
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: 1.2rem;
    background: rgb(39, 38, 38);
    color: whitesmoke;
    padding: 10px;
}


    <script>
          const hoy = new Date();
          const opciones = { year: 'numeric', month: 'long', day: 'numeric',
            weekday: 'long' };
          const fechaFormateada = hoy.toLocaleDateString('es-ES', opciones);
          document.getElementById('fecha-actual').textContent = fechaFormateada;
    </script>

JS - Juego de temporizador

 Añade un temporizador a tu website con JS

Solo hay que copiar y pegar el código.

<!-- TEMPORIZADOR -->
  <div class="marco">
        <div class="tiempo" id="tiempo"></div>
        <div class="botones-contenedor">
          <div class="btn" onclick="iniciar()">
              <img src="https://images.icon-icons.com/1369/PNG/512/-play-arrow_90149.png" alt="">
          </div>
          <div class="btn" onclick="pausar()">
              <img src="https://images.icon-icons.com/1132/PNG/96/1486348534-music-pause-stop-control-play_80459.png" alt="">
          </div>
          <div class="btn" onclick="reiniciar()">
              <img src="https://images.icon-icons.com/2248/PNG/96/restart_icon_135251.png" alt="">
          </div>
        </div>
  </div>

/******* TEMPORIZADOR ******/
.marco {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    background: rgb(224, 224, 224);
    border: 2px solid black;
    padding: 20px;
}
#tiempo{
    font-size: 2rem;
    border-bottom: 2px solid black;
}
.botones-contenedor{
    display: flex;
}
.botones-contenedor img{
    height: 35px;
    border: 2px solid black;
    border-radius: 50%;
}
.btn {
    cursor: pointer;
    margin: 15px;
}

// JUEGO DE TEMPORIZADOR 10 SEGUNDOS

   let tiempoRef = Date.now()
      let cronometrar = false
      let acumulado = 0

      function iniciar() {
          cronometrar = true
      }

      function pausar() {
          cronometrar = false
      }

      function reiniciar() {
          acumulado = 0
      }

      setInterval(() => {
          let tiempo = document.getElementById("tiempo")
          if (cronometrar) {
              acumulado += Date.now() - tiempoRef
          }
          tiempoRef = Date.now()
          tiempo.innerHTML = formatearMS(acumulado)
      }, 1000 / 60);

      function formatearMS(tiempo_ms) {
          let MS = tiempo_ms % 1000
         
          //Agregué la variable St para solucionar el problema de contar los minutos y horas.
         
          let St = Math.floor(((tiempo_ms - MS) / 1000))
         
          let S = St%60
          let M = Math.floor((St / 60) % 60)
          let H = Math.floor((St/60 / 60))
          Number.prototype.ceros = function (n) {
              return (this + "").padStart(n, 0)
          }

          return H.ceros(2) + ":" + M.ceros(2) + ":" + S.ceros(2)
              + "." + MS.ceros(3)
      }

martes, 20 de octubre de 2026

JS - Cambiar fondo del cuerpo


Cambiar fondo del cuerpo de la página web al hacer clic



<button id="btnHalloween">🎃 Activar Halloween</button> <script> const btn = document.getElementById('btnHalloween'); btn.addEventListener('click', () => { document.body.style.backgroundColor = '#12071f'; document.body.style.color = '#ff6600'; alert('¡La maldición de Halloween ha comenzado!'); }); </script>

JS - Cambia la hoja de estilos CSS

Cambiar la hoja de estilo con Javascript al hacer clic




El código esta demasiado bueno como para no tenerlo en el sitio.
Recuerda solo modificar lo que vayas a necesitar.

HTML (index.html)
html
<head>
  <link id="estilo" rel="stylesheet" href="estilo1.css">
</head>
<body>
  <button id="miBoton">Cambiar Estilo</button>
</body>

Javascript

const boton = document.getElementById('miBoton');
const hojaEstilo = document.getElementById('estilo');

boton.addEventListener('click', () => {
  if (hojaEstilo.getAttribute('href') === 'estilo1.css') {
    hojaEstilo.setAttribute('href', 'estilo2.css');
  } else {
    hojaEstilo.setAttribute('href', 'estilo1.css');
  }
});

Como obtener tu IP publica

 


Como obtener nuestra ip publica..

Abres cmd y escribes: curl ifconfig.me  (puerto por default 21)

Si llegaran a tener alguna situación, hay que habilitar la busqueda desde explorador de archivos.


Solo hay que habilitar varias opciones de ftp... Aquí solo muestro una de varias...


Con esto debe de funcionar.




miércoles, 14 de octubre de 2026

js completo

 /************* HAMBURGUER ****************/

window.onload = function () {
    window.addEventListener('scroll', function (e) {
        if (window.pageYOffset > 100) {
            document.querySelector("header").classList.add('is-scrolling');
        } else {
            document.querySelector("header").classList.remove('is-scrolling');
        }
    });

    const menu_btn = document.querySelector('.hamburger');
    const mobile_menu = document.querySelector('.mobile-nav');

    menu_btn.addEventListener('click', function () {
        menu_btn.classList.toggle('is-active');
        mobile_menu.classList.toggle('is-active');
    });
};


// WHATSAPP NUMBER
function myWhats(){

    let numWhatsapp = prompt("Numero de whatsapp sin espacios.");
    let resultNum = 'https://api.whatsapp.com/send?phone=+52'+numWhatsapp+'&text=Hola';
    console.log(resultNum);
    document.getElementById("show_up").innerHTML = resultNum;
};


// SLIDER AUTOMÁTICO BANNER GRANDE //

document.addEventListener('DOMContentLoaded', function() {
            const track = document.querySelector('.slider-track');
            const slides = document.querySelectorAll('.slider-slide');
            const dots = document.querySelectorAll('.slider-dot');
            const prevBtn = document.querySelector('.prev');
            const nextBtn = document.querySelector('.next');
           
            let currentIndex = 0;
            let slideWidth = slides[0].clientWidth;
            let autoSlideInterval;
            const slideCount = slides.length;
           
            // Set up slider
            function initSlider() {
                slideWidth = slides[0].clientWidth;
                track.style.width = `${slideWidth * slideCount}`;
               
                // Set initial active dot
                updateDots();
               
                // Start auto slide
                startAutoSlide();
               
                // Handle window resize
                window.addEventListener('resize', function() {
                    slideWidth = slides[0].clientWidth;
                    track.style.width = `${slideWidth * slideCount}`;
                    goToSlide(currentIndex);
                });
            }
           
            // Go to specific slide
            function goToSlide(index) {
                if (index < 0) {
                    index = slideCount - 1;
                } else if (index >= slideCount) {
                    index = 0;
                }
               
                currentIndex = index;
                track.style.transform = `translateX(-${slideWidth * currentIndex}px)`;
                updateDots();
               
                // Reset auto slide timer
                resetAutoSlide();
            }
           
            // Update navigation dots
            function updateDots() {
                dots.forEach((dot, index) => {
                    dot.classList.toggle('active', index === currentIndex);
                });
            }
           
            // Auto sliding
            function startAutoSlide() {
                autoSlideInterval = setInterval(() => {
                    goToSlide(currentIndex + 1);
                }, 5000);
            }
           
            function resetAutoSlide() {
                clearInterval(autoSlideInterval);
                startAutoSlide();
            }
           
            // Event listeners
            prevBtn.addEventListener('click', () => {
                goToSlide(currentIndex - 1);
            });
           
            nextBtn.addEventListener('click', () => {
                goToSlide(currentIndex + 1);
            });
           
            // Dot navigation
            dots.forEach((dot, index) => {
                dot.addEventListener('click', () => {
                    goToSlide(index);
                });
            });
           
            // Pause on hover
            track.addEventListener('mouseenter', () => {
                clearInterval(autoSlideInterval);
            });
           
            track.addEventListener('mouseleave', () => {
                resetAutoSlide();
            });
           
            // Initialize slider
            initSlider();
        });



// MOSTRAR OCULTAR CONTENIDO DE MOVIES SERIES Y TV

function hidMvs() {
    var x = document.getElementById("miDiv");
    if (x.style.display === "block") {
        x.style.display = "none";
    } else {
        x.style.display = "block";
    }
}
function hidMvs2() {
    var x = document.getElementById("miDivTV");
    if (x.style.display === "block") {
        x.style.display = "none";
    } else {
        x.style.display = "block";
    }
}
function hidSeries() {
    var x = document.getElementById("miDivSeries");
    if (x.style.display === "block") {
        x.style.display = "none";
    } else {
        x.style.display = "block";
    }
}

// JUEGO DE TEMPORIZADOR 10 SEGUNDOS

   let tiempoRef = Date.now()
      let cronometrar = false
      let acumulado = 0

      function iniciar() {
          cronometrar = true
      }

      function pausar() {
          cronometrar = false
      }

      function reiniciar() {
          acumulado = 0
      }

      setInterval(() => {
          let tiempo = document.getElementById("tiempo")
          if (cronometrar) {
              acumulado += Date.now() - tiempoRef
          }
          tiempoRef = Date.now()
          tiempo.innerHTML = formatearMS(acumulado)
      }, 1000 / 60);

      function formatearMS(tiempo_ms) {
          let MS = tiempo_ms % 1000
         
          //Agregué la variable St para solucionar el problema de contar los minutos y horas.
         
          let St = Math.floor(((tiempo_ms - MS) / 1000))
         
          let S = St%60
          let M = Math.floor((St / 60) % 60)
          let H = Math.floor((St/60 / 60))
          Number.prototype.ceros = function (n) {
              return (this + "").padStart(n, 0)
          }

          return H.ceros(2) + ":" + M.ceros(2) + ":" + S.ceros(2)
              + "." + MS.ceros(3)
      }


// INDICE DE MASA CORPORTAL IMC
// peso / altura² 3.0276 = 29.3962
// peso / 2.89 = 22.49
// bajo peso 18.5
// peso normal 18.5 -24.9
// sobrepeso 25 - 29.9
// obesidad 30 o +

function imc_form(){
    let s1 = document.getElementById('num1').value;
    let s2 = document.getElementById('num2').value;

    resultado = parseFloat(s1) / (parseFloat(s2)*s2);

    texto_resultado = document.getElementById('result_imc');
    texto_resultado.innerText = (resultado.toFixed(3));

}

function peso_form(){
    let s3 = document.getElementById('num3').value;
   
    resultado = s3 - 106;

    texto_resultado = document.getElementById('resultado_peso');
    texto_resultado.innerText = (resultado);

}



Documental de Hackers