/* ====== MENÚ MÓVIL (igual) ====== */ const checkbox = document.getElementById("menu-toggle"); const hamburgerLabel = document.querySelector('label[for="menu-toggle"]'); const navLinks = document.querySelectorAll(".menu a[href^='#']"); const closeBtn = document.querySelector(".close-button"); function setAria(){ hamburgerLabel.setAttribute('aria-expanded', checkbox.checked ? 'true' : 'false'); } checkbox.addEventListener('change', setAria); hamburgerLabel.addEventListener('click', () => setTimeout(setAria, 0)); navLinks.forEach(link => { link.addEventListener("click", () => { checkbox.checked = false; setAria(); setTimeout(recalc, 50); // por si cambia layout al cerrar }); }); if (closeBtn){ closeBtn.addEventListener("click", () => { checkbox.checked = false; setAria(); setTimeout(recalc, 50); }); } /* ====== SCROLL SPY ROBUSTO ====== */ function setActive(link){ if (!link || link.classList.contains("active")) return; document.querySelectorAll(".menu a.active").forEach(a => { a.classList.remove("active"); a.removeAttribute("aria-current"); }); link.classList.add("active"); link.setAttribute("aria-current","page"); } // CSS.escape fallback const cssEscape = (window.CSS && CSS.escape) ? CSS.escape : s => s.replace(/[^a-zA-Z0-9_-]/g, "\\$&"); // Encuentra el elemento objetivo para un id (soporta Carrd) function findTarget(id){ const sel = [ `#${cssEscape(id)}`, `[name="${cssEscape(id)}"]`, `[data-scroll-id="${cssEscape(id)}"]`, `[data-section="${cssEscape(id)}"]` ].join(","); return document.querySelector(sel); } let sections = []; // {el, link, top} function recalc(){ sections = []; navLinks.forEach(link => { const id = decodeURIComponent(link.getAttribute("href")).slice(1); const el = findTarget(id); if (!el){ console.warn("[ScrollSpy] No encontrado objetivo para:", id); return; } const rect = el.getBoundingClientRect(); const top = rect.top + window.scrollY; sections.push({ el, link, top }); }); // Ordena por posición vertical real sections.sort((a,b) => a.top - b.top); onScroll(); // aplica estado actual } function onScroll(){ if (!sections.length) return; const nav = document.querySelector('nav[aria-label="Principal"]'); const navH = (nav ? nav.getBoundingClientRect().height : 64) || 64; const pos = window.scrollY + navH + 8; // Si estás casi al final, marca la última sección if ((window.innerHeight + window.scrollY) >= (document.body.scrollHeight - 2)){ setActive(sections[sections.length - 1].link); return; } // Selecciona la última sección cuyo top <= pos let current = sections[0].link; for (const s of sections){ if (pos >= s.top) current = s.link; else break; // como está ordenado, podemos cortar } setActive(current); } // Throttle con rAF let ticking = false; window.addEventListener("scroll", () => { if (!ticking){ requestAnimationFrame(() => { onScroll(); ticking = false; }); ticking = true; } }, { passive:true }); window.addEventListener("resize", recalc); window.addEventListener("load", recalc); document.addEventListener("DOMContentLoaded", recalc); // Si cambian las alturas una vez cargadas imágenes/recursos pesados window.addEventListener("pageshow", recalc);

Prepárate Cambridge 25/26: clases en directo y en diferido

Niveles A2, B1, B2, C1 y C2. Método claro y sin rodeos para aprobar y, sobre todo, aprender inglés.


Caso real: de suspender a C1 con notaza en 6 meses

María Navarro · Ene 2024 → Jun 2024

Lo que me dijo María durante la preparación:

“Que tú expliques los fallos y los vayas resolviendo con nosotros marca la diferencia a la hora de hacer writings y practicar speaking. También, se nota en el Use of English lo de ir dando truquillos y explicaciones. Esa implicación no la vi en ningún momento en la otra academia”.

La nota que sacó en la otra academia

- 3 de 5 skills suspensas
- 177 puntos totales (suspenso)

Tras 6 meses trabajando conmigo

- Todas las skills aprobadas (210 en Use of English)
- 193 puntos totales (Grade B)


¿Tienes ganas de pasarlo bien en directo y hablar en inglés como un nativo? ¡Esta es tu opción!

Clases en directo para A2, B1, B2, C1 Y C2 (desde 65€/mes)

Comenzamos el 1 de octubre

- Grupos reducidos de máximo 8 personas
- Horarios de mañana o tarde (elige entre 2, 3 o 4 horas semanales)
- Clases online en directo por Google Meet
- Exámenes quincenales
- Correcciones de Writings quincenales
- Seguimiento personalizado por WhatsApp
- Material exclusivo y específico para el nivel
- Una o dos clases semanales de Speaking


¿Tienes horarios complicados o prefieres trabajar por tu cuenta?

Clases en diferido para A2, B1, B2, C1 Y C2 (desde 45€/mes)

Comenzamos el 1 de octubre

- Acceso inmediato a grabaciones reales (Opción de 2 o 4 horas semanales)
- Una reunión mensual para practicar speaking en directo por Google Meet
- Exámenes quincenales
- Correcciones de Writings quincenales
- Seguimiento personalizado por WhatsApp
- Material exclusivo y específico para el nivel


¿Qué dicen nuestros alumnos?

+98% de aprobados en 2024


sígueme en instagram

Somos más de 79 mil personas en Instagram. En mi perfil, subo contenido muy interesante para aprender un poquito de inglés de manera entretenida y liviana. Únete a la comunidad de Spanglish_English.


Un poquito más sobre mí

¿quién soy?

¡Hola de nuevo! Soy Antonio Blanco y llevo más de 7 años enseñando inglés, con experiencia en varias academias preparando a alumnos para los exámenes de Cambridge. Hace dos años fundé mi propio proyecto, alejándome de los métodos tradicionales para ofrecer una formación más eficaz y honesta, sin alargar procesos innecesarios.Trabajo junto a un par de profesores de confianza que imparten clases en todos los niveles. Juntos hemos creado cursos propios enfocados no solo en aprobar los exámenes de Cambridge, sino en disfrutar y dominar el idioma.Actualmente, somos Centro Preparador Oficial de Cambridge.


¿Buscas algo diferente?

OTROS CURSOS DISPONIBLES

En Spanglish Academy siempre ofrecemos otros cursos, como:
- Intensivos bimensuales en directo
-Cursos grabados completos para trabajar a tu ritmo
- Otros

Pídeme más información por donde prefieras y te pongo al día de lo que hay actualmente.


Spanglish English 2025

Política de cookies

Cambiar preferencias de cookies