Yo empiezo así de simple, pidiéndole algo con claridad para que cumpla con lo que yo quiera hacer. Ahí, la IA te va a decir por supuesto, claro q si, etc, etc, y te va a pasar un código + algunas anotaciones por si quieres cambiar algo. Te recomiendo que leas todo lo que te dice para saber bien qué cambiar si no te gusta cuando lo pruebas (cosas insignificantes como el color, por ejemplo).
Ahora, vas a tener un código más o menos así:
<script>
document.addEventListener('click', function(e) {
// Configuración: puedes cambiar los colores aquí
const colors = ['#FF69B4', '#FFD1DC', '#FFFFFF', '#FFFACD'];
const particleCount = 12; // Cuántos brillos salen
for (let i = 0; i < particleCount; i++) {
createParticle(e.pageX, e.pageY, colors[Math.floor(Math.random() * colors.length)]);
}
});
function createParticle(x, y, color) {
const particle = document.createElement('div');
particle.className = 'click-sparkle';
document.body.appendChild(particle);
// Tamaño aleatorio para cada brillo
const size = Math.floor(Math.random() * 8 + 4);
particle.style.width = `${size}px`;
particle.style.height = `${size}px`;
particle.style.background = color;
particle.style.left = `${x}px`;
particle.style.top = `${y}px`;
// Dirección aleatoria de la explosión
const destinationX = (Math.random() - 0.5) * 150;
const destinationY = (Math.random() - 0.5) * 150;
const animation = particle.animate([
{
transform: `translate(-50%, -50%) translate(0, 0) scale(1)`,
opacity: 1
},
{
transform: `translate(-50%, -50%) translate(${destinationX}px, ${destinationY}px) scale(0)`,
opacity: 0
}
], {
duration: 800 + Math.random() * 400,
easing: 'cubic-bezier(0, .9, .57, 1)',
delay: Math.random() * 100
});
animation.onfinish = () => {
particle.remove();
};
}
</script>
<style>
.click-sparkle {
position: absolute;
pointer-events: none;
z-index: 999999; /* Para que salga POR ENCIMA de todo al hacer clic */
border-radius: 50%;
box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
/* Forma de estrella pequeña opcional con clip-path */
clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
</style>
Si se dan cuenta y leen el código, van a ver que Gémini puso texto /*así*/, que son pequeñas anotaciones que te hace para que te des cuenta de donde están las cosas. Si lo dejamos así y lo pegamos tal cual a (en este caso, un gadget html/js) no va a funcionar, porque esas anotaciones interfieren con el código. Lo que vamos a hacer es borrar todas las anotaciones que estén entre /* */ antes de probar.
Una vez ahí, vamos a hacer click en "HTML/Java Script":
Van a ver que dice Título y abajo Contenido. Como en este caso va a ser una función que no se va a quedar "fija" en las columnas (por ejemplo, una imagen o el motor de búsqueda) no le vamos a poner título. En contenido pega el código ya limpio y haz click en guardar.
<script>
document.addEventListener('click', function(e) {
const colors = ['#FF69B4', '#FFD1DC', '#FFFFFF', '#FFFACD'];
const particleCount = 40;
for (let i = 0; i < particleCount; i++) {
createParticle(e.pageX, e.pageY, colors[Math.floor(Math.random() * colors.length)]);
}
});
function createParticle(x, y, color) {
const particle = document.createElement('div');
particle.className = 'click-sparkle';
document.body.appendChild(particle);
const size = Math.floor(Math.random() * 15 + 4);
particle.style.width = `${size}px`;
particle.style.height = `${size}px`;
particle.style.background = color;
particle.style.left = `${x}px`;
particle.style.top = `${y}px`;
const destinationX = (Math.random() - 0.5) * 150;
const destinationY = (Math.random() - 0.5) * 150;
const animation = particle.animate([
{
transform: `translate(-50%, -50%) translate(0, 0) scale(1)`,
opacity: 1
},
{
transform: `translate(-50%, -50%) translate(${destinationX}px, ${destinationY}px) scale(0)`,
opacity: 0
}
], {
duration: 800 + Math.random() * 400,
easing: 'cubic-bezier(0, .9, .57, 1)',
delay: Math.random() * 100
});
animation.onfinish = () => {
particle.remove();
};
}
</script>
<style>
.click-sparkle {
position: absolute;
pointer-events: none;
z-index: 999999;
border-radius: 50%;
box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
</style>
![]()
Bueno, finalizando esto, los invito a que prueben decorar su blog con este tip. Si tienen alguna duda, no duden en comentar
Voy a hacer otro post dándoles páginas con recursos (blinkies, pixels, gifs, etc) así que espérenlo ![]()
(PD: pude incorporar un botón de like, me gustaría que lo usaran si les gusta así sé que hay gente leyendo mi blog
Si quieren tuto díganme, y no olviden de comentar sus blogss)

Holaaaa, gracias por el blog, me gustaría saber como pones la opción de dar like y otra cosa, ¿donde esta la opción de suscribirse a tu canal? No la encuentro y quiero seguirte, estaré pendiente a tu blog para el tutorial. Byeee
ResponderBorrarholii, cuando pueda voy a subir tuto de cómo poner like, gracias por suscribirtee <33
Borrarya lo vi jajaja perdon.
ResponderBorrarjsjsjsj no te preocupes
Borrarholaa, me gustaria saber como le hacer para poner el "welcome" al principio cuando abro tu blog
ResponderBorrar