Cómo Insertar un Breaking News Ticker con un Solo Widget en Blogger | Guía Completa
Breaking News Ticker con un Solo Widget en Blogger
Un Breaking News Ticker es una herramienta visualmente atractiva que muestra tus últimas noticias, actualizaciones o anuncios importantes en una barra deslizante. En esta guía completa te enseñaré cómo implementarlo fácilmente en tu blog de Blogger usando un solo widget. Todos los cambios lo debe realizar de forma manual, tanto como la URL y los títulos.
Puede utilizar una herramienta llamada Editor HTML ONLINE, donde podrá realizar los cambios en vivo y luego copiar el código he insertarlo en un solo widget de Blogger, o una pagina web.
A continuación puede ver su demostración en el siguiente blog de demos
¿Por Qué Usar un Breaking News Ticker en tu Blog?
Este elemento dinámico ofrece múltiples beneficios para tu estrategia de contenido:
- Aumenta el engagement: Atrae la atención de tus visitantes con contenido relevante.
- Mejora la navegación: Permite acceder rápidamente a artículos destacados.
- Estilo profesional: Da un toque moderno y dinámico a tu blog de Blogger.
- Destaca contenido importante: Ideal para promociones, anuncios o publicaciones virales.
Paso a Paso: Insertar el Widget en Blogger
1. Accede al Panel de Widgets de Blogger
- Inicia sesión en tu cuenta de Blogger
- Selecciona tu blog
- Ve a "Diseño" en el menú izquierdo
- Haz clic en "Añadir un gadget"
- Selecciona el gadget "HTML/JavaScript"
2. Añade el Código HTML/CSS/JavaScript
Copia y pega el siguiente código completo en el widget:
<style>
/* Modern Breaking News Ticker Styles */
:root {
--primary-color: #1a73e8;
--secondary-color: #f50057;
--bg-gradient: linear-gradient(135deg, #ffffff, #f8f9fa);
--shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.breaking-news-container {
width: 100%;
max-width: 1280px;
margin: 1rem auto;
background: var(--bg-gradient);
border-radius: 12px;
box-shadow: var(--shadow);
display: flex;
align-items: center;
padding: 0.5rem;
position: relative;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
overflow: hidden;
}
.breaking-news-label {
background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
color: white;
padding: 0.5rem 0.8rem;
font-weight: 600;
font-size: 0.9rem;
border-radius: 8px;
margin: 0 0.3rem;
white-space: nowrap;
text-transform: uppercase;
letter-spacing: 0.5px;
transform: skew(-10deg);
transition: var(--transition);
}
/* Efecto de gradiente animado */
.breaking-news-label::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(90deg,
rgba(255,255,255,0) 0%,
rgba(255,255,255,0.2) 50%,
rgba(255,255,255,0) 100%);
animation: shine 3s infinite;
z-index: 0;
}
@keyframes shine {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
.breaking-news-ticker {
flex-grow: 1;
overflow: hidden;
position: relative;
height: 2.5rem;
margin-left: 0.3rem;
}
.breaking-news-content {
display: flex;
position: absolute;
will-change: transform;
}
.breaking-news-item {
flex-shrink: 0;
width: 100%;
padding: 0 0.5rem;
font-size: 1rem;
line-height: 2.5rem;
white-space: nowrap;
opacity: 0.9;
transition: var(--transition);
box-sizing: border-box;
}
.breaking-news-item a {
color: #1a1a1a;
text-decoration: none;
position: relative;
transition: var(--transition);
display: inline-block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.breaking-news-item a:hover {
color: var(--primary-color);
}
.breaking-news-item a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 2px;
background: var(--primary-color);
transition: var(--transition);
}
.breaking-news-item a:hover::after {
width: 100%;
}
.ticker-controls {
display: flex;
gap: 0.5rem;
margin: 0 0.5rem;
}
.ticker-controls button {
background: white;
border: none;
width: 2rem;
height: 2rem;
border-radius: 50%;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: var(--shadow);
transition: var(--transition);
font-size: 1rem;
color: #333;
}
.ticker-controls button:hover {
background: var(--primary-color);
color: white;
transform: translateY(-2px);
}
.ticker-controls button:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Responsive Design */
@media (max-width: 768px) {
.breaking-news-container {
padding: 0.3rem;
margin: 0.3rem;
}
.breaking-news-label {
font-size: 0.8rem;
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
}
.breaking-news-ticker {
margin-left: 0.2rem;
}
.breaking-news-item {
font-size: 0.85rem;
padding: 0 0.3rem;
line-height: 2.2rem;
}
.ticker-controls {
margin: 0 0.3rem;
}
}
@media (max-width: 480px) {
.breaking-news-label {
display: none;
}
.breaking-news-ticker {
margin-left: 0;
}
.breaking-news-item {
font-size: 0.8rem;
padding: 0 0.2rem;
}
.ticker-controls button {
width: 1.8rem;
height: 1.8rem;
font-size: 0.9rem;
}
}
</style>
<div class="breaking-news-container" role="region" aria-label="Breaking News Ticker">
<div class="breaking-news-label">ÚLTIMAS NOTICIAS</div>
<div class="breaking-news-ticker" id="tickerViewport">
<div class="breaking-news-content" id="tickerContent">
<div class="breaking-news-item">
<a href="URL_DE_TU_ARTICULO_1">Riesgos de ciberseguridad: cuando la IA se convierte en una herramienta del mal</a>
</div>
<div class="breaking-news-item">
<a href="URL_DE_TU_ARTICULO_2">Nuevas tendencias en diseño web para 2025 que no puedes ignorar</a>
</div>
<div class="breaking-news-item">
<a href="URL_DE_TU_ARTICULO_3">Guía completa para mejorar el SEO de tu blog en Blogger</a>
</div>
<div class="breaking-news-item">
<a href="URL_DE_TU_ARTICULO_4">Estrategias efectivas para monetizar tu blog en 2025</a>
</div>
</div>
</div>
<div class="ticker-controls">
<button id="prevBtn" aria-label="Previous news item">‹</button>
<button id="nextBtn" aria-label="Next news item">›</button>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
// DOM Elements
const viewport = document.getElementById('tickerViewport');
const content = document.getElementById('tickerContent');
const items = document.querySelectorAll('.breaking-news-item');
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
// State
let currentIndex = 0;
let itemWidth = 0;
let autoScrollInterval;
let isPaused = false;
let isAnimating = false;
// Initialize Ticker
function initTicker() {
itemWidth = viewport.offsetWidth;
items.forEach(item => {
item.style.width = `${itemWidth}px`; // Forzar ancho exacto
});
content.style.width = `${itemWidth * items.length}px`;
content.style.display = 'flex'; // Asegurar que los ítems estén en línea
updatePosition(false);
startAutoScroll();
}
// Update Position with GSAP
function updatePosition(animate = true) {
if (isAnimating) return;
isAnimating = true;
// Asegurar que el índice esté dentro de los límites
if (currentIndex >= items.length) {
currentIndex = 0;
} else if (currentIndex < 0) {
currentIndex = items.length - 1;
}
gsap.to(content, {
x: -currentIndex * itemWidth,
duration: animate ? 0.6 : 0,
ease: 'power2.out',
onComplete: () => {
isAnimating = false;
}
});
}
// Navigation
function next() {
if (items.length <= 1 || isAnimating) return;
currentIndex = (currentIndex + 1) % items.length;
updatePosition();
}
function prev() {
if (items.length <= 1 || isAnimating) return;
currentIndex = (currentIndex - 1 + items.length) % items.length;
updatePosition();
}
// Auto Scroll
function startAutoScroll() {
clearInterval(autoScrollInterval);
if (items.length > 1) {
autoScrollInterval = setInterval(() => {
if (!isPaused) next();
}, 5000);
}
}
// Event Listeners
const container = viewport.parentElement;
container.addEventListener('mouseenter', () => (isPaused = true));
container.addEventListener('mouseleave', () => (isPaused = false));
prevBtn.addEventListener('click', () => {
prev();
resetAutoScroll();
});
nextBtn.addEventListener('click', () => {
next();
resetAutoScroll();
});
// Keyboard Navigation
container.addEventListener('keydown', (e) => {
if (e.key === 'ArrowLeft') prev();
if (e.key === 'ArrowRight') next();
if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') resetAutoScroll();
});
// Touch Support
let touchStartX = 0;
container.addEventListener('touchstart', (e) => {
touchStartX = e.touches[0].clientX;
isPaused = true;
});
container.addEventListener('touchend', (e) => {
const touchEndX = e.changedTouches[0].clientX;
if (touchStartX - touchEndX > 50) next();
if (touchEndX - touchStartX > 50) prev();
resetAutoScroll();
isPaused = false;
});
// Reset Auto Scroll
function resetAutoScroll() {
clearInterval(autoScrollInterval);
startAutoScroll();
}
// Handle Resize
let resizeTimeout;
window.addEventListener('resize', () => {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(initTicker, 100);
});
// Initialize
initTicker();
});
</script>
3. Personaliza el Ticker
Una vez añadido el código, adapta estos elementos:
- URLs de artículos: Reemplaza
URL_DE_TU_ARTICULO_1
,URL_DE_TU_ARTICULO_2
, etc. con los enlaces de tus posts. - Títulos: Modifica los textos entre
<a href="">...</a>
con tus headlines. - Diseño: Si deseas personalizar los colores, ajusta las variables
--primary-color
y--secondary-color
en la sección:root
.
<div class="breaking-news-item">...</div>
.
Consejos para Optimizar tu Ticker de Noticias
✔️ Usa Palabras Clave Atractivas
Incluye términos como "últimas noticias", "actualizaciones importantes" o "novedades" para mejorar el CTR.
✔️ Manténlo Actualizado
Renueva los enlaces periódicamente con contenido fresco para incentivar clicks recurrentes.
✔️ Aprovecha el Espacio Móvil
El diseño es responsive, pero verifica que los títulos no sean demasiado largos en dispositivos pequeños.
Preguntas Frecuentes
¿Puedo añadir más de 3 noticias al ticker?
¡Sí! Solo duplica el bloque <div class="breaking-news-item">...</div>
con tus nuevos enlaces y títulos.
¿Cómo cambio la velocidad del desplazamiento?
Edita el valor 4000
en el JavaScript (está en milisegundos; 4000 = 4 segundos).
¿Puedo cambiar la posición del ticker?
Absolutamente. Puedes colocarlo en diferentes áreas de tu blog moviendo el widget HTML/JavaScript a otras secciones del diseño.
Conclusión
Implementar un Breaking News Ticker en tu blog de Blogger es una excelente manera de destacar contenido importante, mejorar el engagement de tus visitantes y dar un aspecto más profesional a tu sitio. Con esta guía completa, ahora tienes todo lo necesario para añadir esta funcionalidad en cuestión de minutos.
¿Te ha resultado útil esta guía? ¡Compártela con otros bloggers que puedan beneficiarse de ella!
luis pon el color verde como antes los menus. Estaba mejor
ResponderEliminarOk amigo... estoy probando colores
EliminarMuchas gracias, interesante!
ResponderEliminarHermano, todo bien con el script, funciona perfecto, pero me tarda en actualizarme las noticias; me explico, publico una noticia y no me aparece inmediatamente en el headline, por qué será? saludos
ResponderEliminar