El concierto, celebrado en el Recinto Ferial de IFEMA MADRID, marcó el apoteósico cierre de la gira europea de The Dire Straits Experience, consolidando a la banda como un referente vivo del rock internacional.
Un viaje por los grandes éxitos
Desde el primer acorde de «Telegraph Road» hasta el electrizante cierre con «Sultans of Swing», los asistentes disfrutaron de una selección magistral de éxitos como «Brothers in Arms», «Walk of Life», «Romeo and Juliet» y «Your Latest Trick». Cada interpretación reflejó el virtuosismo y la fuerza artística que han definido a Dire Straits como una de las bandas más influyentes en la historia de la música.
Un nivel artístico inigualable
Liderando la actuación, el saxofonista Chris White, pieza clave en los momentos más memorables de la trayectoria de Dire Straits, reafirmó su lugar como uno de los pilares fundamentales de esta formación. Terence Reis, con su habilidad vocal y su destreza en la guitarra, llevó la esencia del grupo a su máximo esplendor, acompañado por músicos excepcionales como Richard Bennett, John Maul, Michael Bramwell, YoYo Buys y Luke Naimi. Juntos, ofrecieron un espectáculo inolvidable que cautivó a cada persona en el recinto.
Éxito en una gira mundial
El concierto de Madrid no solo destacó como un momento culminante de la gira europea, sino también como una muestra del poder y relevancia actual de Dire Straits. Cada canción fue interpretada con la fuerza y la precisión que han caracterizado a la banda desde sus inicios, creando una atmósfera de complicidad única entre los músicos y su público.
La esencia del rock en estado puro
La velada concluyó con una ovación atronadora que celebró el talento y la autenticidad de una banda que sigue marcando el pulso del rock en todo el mundo. The Dire Straits Experience demostró, una vez más, que el legado de Dire Straits no es sólo historia, sino una realidad viva que continúa evolucionando y conquistando escenarios.
El concierto, celebrado en el Recinto Ferial de IFEMA MADRID, marcó el apoteósico cierre de la gira europea de The Dire Straits Experience, consolidando a la banda como un referente vivo del rock internacional.Un viaje por los grandes éxitosDesde el primer acorde de «Telegraph Road» hasta el electrizante cierre con «Sultans of Swing», los asistentes … Continuar leyendo «The Dire Straits Experience enciende Madrid con una noche de rock memorable» The Dire Straits Experience enciende Madrid con una noche de rock memorable
Cerrar sesión
`);
let isIExplore = (/MSIE (d+.d+);/.test(navigator.userAgent) || !!navigator.userAgent.match(/Trident.*rv:11./) || navigator.userAgent.indexOf(‘Edge’) !== -1);
if (isIExplore)
$(‘.nav-socios-menu’).css(‘margin-top’, ‘0px’);
function goToChangePasswordModal()
window.location.href=»#changeModal»;
function activeChangePasswordForm()
printChangePasswordForm();
$(‘#okChangePasswordBtn’).on(‘click’, function (event)
event.preventDefault();
$(‘.ok-form-success, .ok-form-email-error, .ok-form-password-error’).addClass(‘hidden’);
let baseUrl = window.location.protocol + ‘//’ + window.location.hostname + ‘/socios/client-password’;
let email = $(‘#okChangePasswordform’).serializeArray()[0].value;
let password = $(‘#okChangePasswordform’).serializeArray()[1].value;
let repeatPassword = $(‘#okChangePasswordform’).serializeArray()[2].value;
if(validateEmail(email))
if(validatePassword(password, repeatPassword))
$.post(baseUrl, $(‘#okChangePasswordform’).serialize()).done(function (data)
$(‘.ok-form-success’).removeClass(‘hidden’);
).fail(function(data)
$(‘.ok-form-success’).removeClass(‘hidden’);
);
else
$(‘.ok-form-password-error’).removeClass(‘hidden’);
else
$(‘.ok-form-email-error’).removeClass(‘hidden’);
);
function printChangePasswordForm()
let changePasswordForm = ‘
‘
‘Xn’ +
‘
Cambiar password en el portal
n’ +
‘ n’ +
‘
‘
Nueva contraseña establecida
n’ +
‘
Formato de correo electrónico incorrecto
n’ +
‘
Las contraseñas deben ser iguales y contener un mínimo de 8 caracteres
n’ +
‘n’ +
‘
n’ +
‘
n’ +
‘
‘;
if($(«#changePasswordModal»).length == 0)
$( «body» ).append(changePasswordForm);
function activeLoginForm()
if ($(«.socios-link»).length)
$(‘.nav-socios-menu, .nav-socios-menu-content’).addClass(‘hidden’);
$(‘.socios-link’).on(‘click’, function (event)
event.preventDefault();
createLoginForm();
createRecoveryForm();
$(‘.ok-form-success’).addClass(‘hidden’);
goToLoginModal();
$(«#email»).focus();
$(‘#closeLoginFormLink’).on(‘click’, function(event)
event.stopPropagation();
var divLoginModal = document.getElementById(‘loginModal’);
divLoginModal.parentNode.removeChild(divLoginModal);
var divRecoveryModal = document.getElementById(‘recoveryModal’);
divRecoveryModal.parentNode.removeChild(divRecoveryModal);
);
$(‘#closeRecoveryFormLink’).on(‘click’, function(event)
event.stopPropagation();
var divLoginModal = document.getElementById(‘loginModal’);
divLoginModal.parentNode.removeChild(divLoginModal);
var divRecoveryModal = document.getElementById(‘recoveryModal’);
divRecoveryModal.parentNode.removeChild(divRecoveryModal);
);
);
function createLoginForm()
printLoginForm();
initRememberMe();
$(‘.ok-form-error ‘).addClass(‘hidden’);
$(‘#okLoginBtn’).on(‘click’, function (event)
event.stopPropagation();
event.preventDefault();
$(‘.ok-form-error ‘).addClass(‘hidden’);
$(‘.loginLoader’).removeClass(‘hidden’);
let baseUrl = window.location.protocol + ‘//’ + window.location.hostname + ‘/socios/client-login’;
$.post(baseUrl, $(‘#okLoginForm’).serialize()).done(function( data )
let cookieValue = data.expiration_at != false ? ‘b326b5062b2f0e69046810717534cb09’ : ‘ns’;
createLoginCookie(‘f2da8790d54184f6c100d431d8e45430’, data.expiration_at, cookieValue);
createLoginCookie(‘f2da8790d54184f6c100d431d8e45430[value]’,data.expiration_at, cookieValue);
setRememberMe();
window.didomiOnReady = window.didomiOnReady ).fail(function(data)
$(‘.loginLoader’).addClass(‘hidden’);
$(‘.ok-form-error ‘).removeClass(‘hidden’);
);
);
function createRecoveryForm()
printRecoveryForm();
$(‘#okRecoveryBtn’).on(‘click’, function (event)
event.stopPropagation();
event.preventDefault();
$(‘.ok-form-success, .ok-form-error’).addClass(‘hidden’);
let baseUrl = window.location.protocol + ‘//’ + window.location.hostname + ‘/socios/client-recovery’;
let email = $(‘#okRecoveryForm’).serializeArray()[0].value;
if(validateEmail(email))
$.post(baseUrl, $(‘#okRecoveryForm’).serialize()).done(function (data)
$(‘.ok-form-success’).removeClass(‘hidden’);
).fail(function(data)
$(‘.ok-form-success’).removeClass(‘hidden’);
);
else
$(‘.ok-form-error-recovery’).removeClass(‘hidden’);
);
function validateEmail(email) (([a-zA-Z-0-9]+.)+[a-zA-Z]2,))$/;
return re.test(email);
function validatePassword(password, repeatPassword)
if (password === repeatPassword && password.length >= 8)
return true;
else
return false;
function goToLoginModal()
function printLoginForm()
let loginForm = ‘
‘
‘Xn’ +
‘
Iniciar sesión en el portal
n’ +
‘ n’ +
‘
‘
Usuario o contraseña incorrectos
n’ +
‘n’ +
‘
n’ +
‘
n’ +
‘
‘;
if($(«#loginModal»).length == 0)
$( «body» ).append(loginForm);
function goToRecoveryModal()
window.location.href = ‘#recoveryModal’;
function printRecoveryForm()
let recoveryForm = ‘
‘
‘Xn’ +
‘
Recuperar contraseña
n’ +
‘ n’ +
‘
‘
Correo electrónico de recuperación enviado
n’ +
‘
Formato de correo electrónico incorrecto
n’ +
‘n’ +
‘
n’ +
‘
n’ +
‘
‘;
if($(«#recoveryModal»).length == 0)
$( «body» ).append(recoveryForm);
function setRememberMe()
if ($(‘#rememberme’).is(‘:checked’))
localStorage.okusername = $(‘#email’).val();
localStorage.okpass = $(‘#password’).val();
localStorage.okchkbox = $(‘#rememberme’).val();
else
localStorage.okusername = »;
localStorage.okpass = »;
localStorage.okchkbox = »;
function initRememberMe()
if (localStorage.okchkbox && localStorage.okchkbox != »)
$(‘#rememberme’).attr(‘checked’, ‘checked’);
$(‘#email’).val(localStorage.okusername);
$(‘#password’).val(localStorage.okpass);
else
$(‘#rememberme’).removeAttr(‘checked’);
$(‘#email’).val(»);
$(‘#password’).val(»);
function showSociosButtons()
fixIosSocios();
$(‘.socios-okclub’).removeClass(‘hidden’);
function fixIosSocios()
let isIos = /iPad
function sociosPubliHome()
//Buscamos la etiqueta body y añadimos la clase socios para ajustes de estilos
document.body.classList.add(‘socios’);
if(screen.width > 767)
//Modificamos imagen de publicidad del MPUVideo1 si existe
if($(‘#mpu-video1’).length)
var imgSociosMpuVideo1 = document.createElement(«IMG»);
imgSociosMpuVideo1.setAttribute(«src», «/web/themes/v10/socios/_img/socios_300X250.jpg»);
document.querySelector(«#mpu-video1»).appendChild(imgSociosMpuVideo1);
//Obtenemos los items de publicidad.
var divsPublicidad = document.querySelectorAll(‘.publicidad’);
divsPublicidad.forEach(function(el)
//Crear variables con las imagenes de 300×600 y 300×250.
var imgSocios300x250 = document.createElement(«IMG»);
var imgSocios300x600 = document.createElement(«IMG»);
imgSocios300x250.setAttribute(«src», «/web/themes/v10/socios/_img/socios_300X250.jpg»);
imgSocios300x600.setAttribute(«src», «/web/themes/v10/socios/_img/socios_300x600.jpg»);
imgSocios300x250.setAttribute(«style», «margin: auto; display: flex; justify-content: center; align-items: center;»);
imgSocios300x600.setAttribute(«style», «margin: auto; display: flex; justify-content: center; align-items: center;»);
//Añadimos las imágenes a los huecos publicitarios de la portada.
if(el.className.includes(‘300×250’) != false)
var itemPubli = el.firstElementChild;
itemPubli.innerHTML = »;
itemPubli.appendChild(imgSocios300x250);
else if(el.className.includes(‘300×600’) != false)
var itemPubli = el.firstElementChild;
itemPubli.innerHTML = »;
itemPubli.appendChild(imgSocios300x600);
);
/*Cargar publi de socios en portada, deportes y economía – END*/
function posicionate ()
var article = sessionStorage.getItem(«article»);
if (article)
var coord = $(‘article[data-id=»‘+article+'»]’).offset();
if(typeof coord === «undefined») return;
var total = parseInt(coord.top) – parseInt($(‘.mega’).height());
window.scrollTo(0, total);
function saveArticle (article)
var dataId = $(article).attr(‘data-id’);
sessionStorage.setItem(«article», dataId);
function goLink(link)
window.location.href = link;
return false;
// Navegacion de los blogs
function navigateBlogs(category)
$(‘.category-ul’).addClass(‘category-hidden’);
$(‘#images-‘+category).removeClass(‘category-hidden’);
//Animación de todos los valores
function tickerAnimationEconomicAll()
var tickerContainer = $(‘.prices-data-container.economic-all’)
var tickerList = $(‘.economic-all .prices-data-list’);
var tickerItem = $(‘.economic-all .price-data-wrapper’);
//Si el primer elemento del carrusel, está fuera de la vista
if ((tickerItem.eq(0).offset().left + tickerItem.eq(0).width())
< tickerContainer.offset().left)
//se clona
var tickerElement = tickerItem.eq(0).clone();
//se añade al final de la lista (carrusel)
tickerElement.appendTo(tickerList);
//Se elimina del DOM el objeto original
tickerItem.eq(0).remove();
//Movemos el carrusel hacía la izquierda restandole la anchura el elemento sin el padding
window.tickerLeftEconomicAll -= 1 – (tickerElement != null ? tickerElement.width() + 26: 0 );
tickerList.css(‘left’, window.tickerLeftEconomicAll);
// Coger los valores económicos de nuestro fichero json y mostrar los datos
// en el widget
function updateTickerData()
var jsonPath = ‘/economic-values/economic-values.json’;
$.ajax(
url: jsonPath,
cache: false,
dataType: ‘json’,
success: function(res)
if (res)
var tickerItem = $(‘.price-data-wrapper’);
var percentageChange = $(‘.percentage-change’);
var changeDirection = $(‘.change-direction’);
for (var i = 0; i < tickerItem.length ; i++)
changeHtml(res, i, tickerItem, percentageChange, changeDirection);
);
// Cambiar los datos del ticker por los datos actualizados
function changeHtml(res, i, tickerItem, percentageChange, changeDirection)
for (var j = 0; j < res.tickers.length; j++)
if (tickerItem[i].getAttribute(‘data-pid’) == res.tickers[j].pid)
percentageChange.eq(i).text(res.tickers[j].pcp);
//Negativo
if (res.tickers[j].pcp.substring(0, 1) == ‘-‘)
changeDirection.eq(i).html(»);
percentageChange.eq(i).addClass(«percentage-change-red»);
percentageChange.eq(i).removeClass(«percentage-change-green»);
//Positivo
else if (res.tickers[j].pcp.substring(0, 1) == ‘+’)
changeDirection.eq(i).html(»);
percentageChange.eq(i).addClass(«percentage-change-green»);
percentageChange.eq(i).removeClass(«percentage-change-red»);
function hideFeaturedMenu()
$(‘.okdiario-destacados-dropdown-container’).slideUp(«normal»);
$(«.okdiario-destacados-dropdown-container, .okdiario-destacados-dropdown-top-title»).removeClass(«activa»);
//$(document).click(function ());
function showFeaturedMenu()
$(‘.okdiario-destacados-dropdown-container’).slideDown(«normal»);
$(«.okdiario-destacados-dropdown-container, .okdiario-destacados-dropdown-top-title»).addClass(«activa»);
//al pulsar fuera del menú, ocultarlo
$(document).on(«click touchend touch», function (event)
event.stopPropagation();
// Si se ha pulsado en el boton de desplegar/ocultar el menu, entonces no se oculta
// ya que se encargara el evento de la funcion featuredMenu().
if (!$(event.target).closest(«.okdiario-destacados-dropdown-top-title»).length &&
$(‘.okdiario-destacados-dropdown-container’).hasClass(«activa»))
hideFeaturedMenu();
);
/*Menú de destacados, mostrar más elementos al hacer clic*/
function featuredMenu()
$(«.okdiario-destacados-dropdown-top-title»).on(‘click’, function(event)
event.stopPropagation();
// Si esta escondido el menu.
if(!$(‘.okdiario-destacados-dropdown-container’).hasClass(«activa»))
// Mostrar
showFeaturedMenu()
else
hideFeaturedMenu()
);
//Añado el evento onclik para todo el LI
$(«.okdiario-destacados-dropdown > li»).on(«click», function (event)
event.stopPropagation();
window.location = $(this).find(«a»).first().attr(«href»);
return false;
);
//Elementos del menú destacados
var options = $(«.okdiario-destacados-container li»).get().reverse();
if(options.length > 0)
$(options).each(
function (index, element)
);
//Si no hay destacados, oculto el container de la lista
if ($(‘.okdiario-destacados-container li’).length == 0)
$(‘.okdiario-destacados-container’).hide();
//Si no hay destacados en ningún sitio oculto el título.
if ($(‘.okdiario-destacados-container li’).length == 0 && $(‘.okdiario-destacados-dropdown-container li’).length == 0)
$(‘.okdiario-destacados-title’).hide();
function initMenu()
/* MENU DESPLEGABLE, EN TODAS LAS PAGINAS */
$(«#sectionMenu»).on(‘click’, function(event)
event.stopPropagation();
if($(‘.okdiario-cabecera’).css(‘z-index’) == 100000 &&
!($(‘.okdiario-cabecera’).hasClass(‘okdiario-cabecera-scrolled’)))
$(‘.okdiario-cabecera’).css(‘z-index’, 99998);
else
$(‘.okdiario-cabecera’).css(‘z-index’, 100000);
//$(«.all»).toggleClass(«active»);
$(«.okd-cabecera-inferior-izquierda-nav-menu»).toggleClass(«active»);
$(«.okd-cabecera-inferior-izquierda-nav-search»).removeClass(«active»);
//$(«.okd-cabecera-inferior-izquierda-search-form»).removeClass(«active»);
$(‘.burger-box’).toggleClass(‘open’);
if ($(«.burger-box»).hasClass(«open»))
$(«aside.share»).removeClass(‘share-fixed’);
else
$(«aside.share»).addClass(‘share-fixed’);
if ($(window).width() < 767 && $(«.okd-cabecera-inferior-izquierda-nav-menu»).hasClass(«active») &&
!($(«.menu-auxiliar-scrolled»).hasClass(«active»)))
$(«.navTop»).addClass(«ajusteMobile»);
$(«.ajusteMobile»).css(«position», «fixed»);
$(«.ajusteMobile»).css(«top», 0);
else
$(«.ajusteMobile»).css(«position», «absolute»);
$(«.ajusteMobile»).css(«top», «auto»);
);
itemMenuTransition();
searchButton();
function itemMenuTransition()
$(«.okd-cabecera-inferior-izquierda-nav-menu-auxiliar»).on(‘click’, function(event)
event.stopPropagation();
);
$(‘.okd-cabecera-inferior-izquierda-nav-menu-auxiliar > ul > li:has(ul)’).addClass(‘desplegable’);
$(‘.okd-cabecera-inferior-izquierda-nav-menu-auxiliar > ul > li > ul > li:has(ul)’).addClass(‘desplegable-sub’);
$(‘.okd-cabecera-inferior-izquierda-nav-menu-auxiliar > ul > li.desplegable > a,.okd-cabecera-inferior-izquierda-nav-menu-auxiliar > ul > li.desplegable > span’).after(»);
$(‘.desplegable-sub > a’).after(»);
$(‘.desplegable-sub i’).on(‘click’, function(event)
event.stopPropagation();
if($(this).parent().find(‘ul’).length >0)
var comprobar = $(this).next();
$(‘.menu-item-object-custom li’).removeClass(‘activa’);
$(this).closest(‘li’).addClass(‘activa’);
if((comprobar.is(‘ul’)) && (comprobar.is(‘:visible’)))
$(this).closest(‘li’).removeClass(‘activa’);
comprobar.slideUp(‘normal’);
if((comprobar.is(‘ul’)) && (!comprobar.is(‘:visible’)))
$(‘.menu-item-object-custom ul ul:visible’).slideUp(‘normal’);
comprobar.slideDown(‘normal’);
);
$(‘.okd-cabecera-inferior-izquierda-nav-menu-auxiliar > ul > li.desplegable i’).not(‘.desplegable-sub i’).on(‘click’, function(event)
event.stopPropagation();
if($(this).parent().find(‘ul’).length >0)
var comprobar = $(this).next();
$(‘.okd-cabecera-inferior-izquierda-nav-menu-auxiliar li’).not(‘li.desplegable-sub’).removeClass(‘activa’);
$(this).closest(‘li’).addClass(‘activa’);
if((comprobar.is(‘ul’)) && (comprobar.is(‘:visible’)))
$(this).closest(‘li’).closest(‘li’).removeClass(‘activa’);
comprobar.slideUp(‘normal’);
if((comprobar.is(‘ul’)) && (!comprobar.is(‘:visible’)))
$(‘.okd-cabecera-inferior-izquierda-nav-menu-auxiliar ul ul:visible’).slideUp(‘normal’);
comprobar.slideDown(‘normal’);
);
function searchButton()
/*EN LA CABECERA, TODAS LAS PAGINAS*/
$(«.okd-cabecera-inferior-izquierda-search-icon»).on(‘click’, function(event)
event.stopPropagation();
$(«.okd-cabecera-inferior-izquierda-nav-search»).toggleClass(«active»);
//$(«.okd-cabecera-inferior-izquierda-search-form»).toggleClass(«active»);
if ($(«.okd-cabecera-inferior-izquierda-nav-menu»).hasClass(«active»))
$(«.all»).removeClass(«active»);
$(«.okd-cabecera-inferior-izquierda-nav-menu»).toggleClass(«active»);
$(«.okd-cabecera-inferior-izquierda-nav-menu»).removeClass(«active2»);
$(‘.burger-box’).removeClass(‘open’);
);
/**
* itera las porpiedades css de offsetArray para obtener los estilos computados como enteros.
* @param array offsetArray
* @param HTMLObjectElement element
* @returns Int newOffset
*/
function loopOffsets(offsetArray, element)
// declaramos variable delimitada
let newOffset = 0;
// computed style element
let cse = window.getComputedStyle(element);
// iteramos el array con propiedades css que se pasa como parámetro
offsetArray.forEach((item, index) =>
// comprobamos que haya estilo computado
if («» != cse.getPropertyValue(item) && «undefined» != cse.getPropertyValue(item))
// sacamos el entero y lo sumamos
newOffset += parseInt(cse.getPropertyValue(item));
// comprobamos que haya estilo en el nodo, por si se le ha asignado dirante la carga
if(«» != element.style.getPropertyValue(item) && «undefined» != element.style.getPropertyValue(item))
// sacamos el entero y lo sumamos
newOffset += parseInt(element.style.getPropertyValue(item));
);
return newOffset;
/**
* Itera los hijos del header y obtiene sus alturas, bordes y márgenes para sacar mas limpiamente el sticky-top
* @param HTMLObjectElement element
* @param Integer offset
* @returns Integer offset
*/
function getOffsets(element, offset)
// declaramos un array con las propiedades
// de las que queremos obtener valor entero
let offsetArray = [
«borderTop»,
«borderBottom»,
«marginTop»,
«marginBottom»,
];
// computed style header
let csh = window.getComputedStyle(element);
// Primero sumamos la altura y los offsets del header
offset += parseInt(csh.height);
offset += loopOffsets(offsetArray, element);
// iteramos con for porque es una colección
for (let ele of element.children)
// sacamos offsets a cada elemento y
offset += loopOffsets(offsetArray, ele);
// loopeamos sticky-container para sacar la altura de cabecera-superior
// que es el que se tiene que dejar ver
// nos metemos en sticky-container para manejar las excepciones de desktop y mobile
if (ele.classList.contains(«okd-cabecera-sticky-container»))
for (let e of ele.children)
// le añadimos sus offsets
offset += loopOffsets(offsetArray, e);
// Comprobamos que estamos en cabecera-superior
// para poder dejar a la vista esa franja
if (e.classList.contains(‘okd-cabecera-superior’))
let cssc = window.getComputedStyle(e);
// le quitamos la altura de cabecera-superior
offset -= parseInt(cssc.height) + loopOffsets(offsetArray, e);
else if (window.innerWidth < 767)
// Comprobamos que estamos en móviles
// para poder mostrar una franja del tamaño del logo
if (e.classList.contains(‘okd-cabecera-inferior’) && !e.classList.contains(‘ante’))
let cssc = window.getComputedStyle(e);
// le quitamos la altura de cabecera-inferior
offset -= parseInt(cssc.height) + loopOffsets(offsetArray, e);
return offset;
// Sticky Logo
function headerStickyTop()
var header = document.getElementById(«okd-cabecera»);
let sumOffsets = getOffsets(header, 0);
header.style.top = «-» + sumOffsets + «px»;
function removeCabeceraInferiorAnte()
let menuAnteDesktop = document.querySelector(‘#okd-cabecera .okd-cabecera-inferior.ante.desktop’);
let menuAnteMobile = document.querySelector(‘#okd-cabecera .okd-cabecera-inferior.ante.mobile’);
if (window.matchMedia(‘(max-width: 766px)’).matches)
let menuAnteContent = menuAnteDesktop.innerHTML;
menuAnteDesktop.remove();
menuAnteMobile.innerHTML = menuAnteContent;
else
menuAnteMobile.remove();
function stickyLogo() (bodyClassList.contains(‘okclub’) && bodyClassList.contains(‘okgreen’)))
logoOkdScrolled = (null !== nightMode) ? ‘okgreen/logo-okgreen-night.png’ : ‘okgreen/logo-okgreen.png’;
backgroundSizePositionAndWidth = ‘background-position: center; background-size: contain;’;
else if (bodyClassList.contains(‘okclub’))
logoOkdScrolled = (null !== nightMode) ? ‘logo-okclub-night.svg’ : ‘logo-okclub.svg’;
backgroundSizePositionAndWidth = ‘background-position: center; background-size: contain;’;
else if (logo.classList.contains(‘logo-hispanidad’))
logoOkdScrolled = (null !== nightMode) ? ‘logo-hispanidad-noche.png’ : ‘logo-hispanidad-dia.png’;
backgroundSizePositionAndWidth = ‘background-position: center; background-size: contain;’;
else if (bodyClassList.contains(‘salud’))
logoOkdScrolled = (null !== nightMode) ? ‘logo-salud.png’ : ‘logo-salud-negro.png’;
backgroundSizePositionAndWidth = ‘background-position: center; background-size: 65%;’;
else
logoOkdScrolled = (null !== nightMode) ? ‘logo_okd_azul_night.png’ : ‘logo_okd_azul.png’;
backgroundSizePositionAndWidth = ‘background-size: contain; background-position: center;’;
var tickSvg = («» == tickLogoColor(bodyClassList)) ? «» : » url(‘/web/themes/v10/css/_img/»+tickLogoColor(bodyClassList)+»‘),»;
if (logo.classList.contains(‘logo-hispanidad’))
tickSvg = »;
logoLink.style.cssText = «display: block; height: 40px; width: 150px; background-image:»+tickSvg+» url(‘/web/themes/v10/css/_img/»+logoOkdScrolled+»‘);»+backgroundSizePositionAndWidth+» background-repeat: no-repeat;»;
let lastScroll = window.scrollY;
let isScrollingDown = true;
let isScrollingUp = !isScrollingDown;
const cabeceraScrolledHeight = 40;
document.addEventListener(‘scroll’, function(e)
let cabeceraBottom = document.getElementById(‘okd-cabecera’).getBoundingClientRect().bottom;
if (cabeceraBottom <= cabeceraScrolledHeight)
logoScrolled(superiorCentroInner, logoLink);
superior.style.boxShadow = ‘0 2px 2px 0 rgb(0 0 0 / 25%)’;
else
logoTop(superiorCentroInner);
superior.style.boxShadow = ‘none’;
isScrollingDown = window.scrollY >= lastScroll;
isScrollingUp = !isScrollingDown;
lastScroll = window.scrollY;
);
function logoScrolled(superiorCentroInner, logoLink)
superiorCentroInner.innerHTML = »;
superiorCentroInner.appendChild(logoLink);
function logoTop(superiorCentroInner)
superiorCentroInner.innerHTML = ‘El sitio de los inconformistas’;
if (document.body.classList.contains(‘baleares’))
superiorCentroInner.innerHTML = ‘Las noticias que los demás no le contarán’;
function tickLogoColor(bodyClassList)
var tickFile = ‘tick-okd.svg’;
let clases =
‘con_tick’ :[
‘economia’,
‘deportes’,
‘investigacion’,
‘opinion’,
‘look’,
‘trailer’,
‘sociedad’,
‘category-video’,
‘eurocopa’,
‘andalucia’,
‘okclub’,
‘juegos-olimpicos’,
‘igualdad-deporte’,
‘recetas’,
‘mundial’,
‘loteria-navidad’
],
‘sin_tick’ :[
‘category-corazon’,
‘category-fichajes’,
‘category-tv’,
‘tv’,
‘happyfm’,
‘salud’,
‘okclub’,
‘okgreen’,
‘aragon’
]
;
try
for(classArray in clases)
if (‘con_tick’ === classArray)
let conTick = clases[classArray];
for(clase in conTick)
if(bodyClassList.contains(conTick[clase]))
// igualdad-deporte tiene que llevar el mismo logo y cabecera que deportes,
// así que le cambiamos la clase para el tick y prau
if («igualdad-deporte» == conTick[clase])
conTick[clase] = «deportes»;
tickFile = ‘tick-okd-‘+conTick[clase] + ‘.svg’;
if(«category-video» == conTick[clase] && (bodyClassList.contains(«archive»)
else if (‘sin_tick’ === classArray)
let sinTick = clases[classArray];
for(clase in sinTick)
if(bodyClassList.contains(sinTick[clase]))
tickFile = »;
catch (error)
console.error(‘Error cargando el logo scrolled ‘, error);
return tickFile;
// Sticky buttons
function stickyButtons()
var superiorDerecha = document.querySelector(‘.okd-cabecera-superior-derecha’);
var sociosOkClub = document.querySelector(‘.socios-okclub’);
var fecha = document.querySelector(‘.okd-cabecera-superior-derecha-fecha’);
var actualizacion = document.querySelector(‘.okd-cabecera-superior-derecha-actualizacion’);
var fechaClone = fecha.cloneNode(true);
var actualizacionClone = actualizacion.cloneNode(true);
var socios = document.querySelector(‘.alta’);
var donacion = document.querySelector(‘.apoyanos’);
if(null != socios && null != donacion)
var sociosClone = socios.cloneNode(true);
var donacionClone = donacion.cloneNode(true);
let nightMode = document.getElementById(‘night-mode’);
document.addEventListener(‘scroll’, function(e)
var buttonsBottom = sociosOkClub.getBoundingClientRect().bottom;
bottomValue = -35;
if(bottomValue == buttonsBottom)
buttonsScrolled(superiorDerecha, sociosOkClub, sociosClone, donacionClone, fecha, actualizacion);
else if (bottomValue < buttonsBottom)
buttonsTop(superiorDerecha, sociosOkClub, sociosClone, donacionClone, fechaClone, actualizacionClone)
);
function buttonsScrolled(superiorDerecha, sociosOkClub, sociosClone, donacionClone, fecha, actualizacion)
for(item of superiorDerecha.childNodes)
if(undefined !== item.classList)
superiorDerecha.prepend(sociosClone);
superiorDerecha.prepend(donacionClone);
function buttonsTop(superiorDerecha, sociosOkClub, sociosClone, donacionClone, fechaClone, actualizacionClone)
var canPrepend = false;
for(item of superiorDerecha.childNodes)
if(undefined !== item.classList)
if(canPrepend)
superiorDerecha.prepend(actualizacionClone);
superiorDerecha.prepend(fechaClone);
// Botones sesión en móvil
function botonesSesionEnMovil(cookieSocios)
var altaOkClub = document.querySelector(‘.socios-okclub a.alta’);
if (null != altaOkClub)
if(screen.width > 767 && !document.querySelector(‘body’).classList.contains(‘okmotor’) && !document.querySelector(‘body’).classList.contains(‘okgreen’))
stickyLogo();
stickyButtons();
function showImages()
$(‘body:not(.home, .page.economia, .page.deportes) article’).find(‘img’).each(function()
var imageSrc = «data-mobile»;
if ($(window).width() > 767)
imageSrc = «data-desktop»;
if (this.getAttribute(imageSrc))
this.setAttribute(‘src’, this.getAttribute(imageSrc));
);
function scrollToTop ()
var settings =
min: 200,
inDelay: 600,
outDelay: 400,
containerID: ‘toTop’,
scrollSpeed: 500,
;
var isHidden = true;
var toTop = $(‘#’ + settings.containerID);
var scrollPos = 0;
toTop.on(‘click’, function(e)
e.preventDefault();
$(‘html, body’).animate( scrollTop : 0, settings.scrollSpeed );
);
$(window).scroll(function()
var height = $(this).scrollTop();
if($(window).scrollTop() + $(window).height() == $(document).height())
toTop.css(«opacity», «1»);
isHidden = false;
else
if(height > scrollPos) //scroll down
toTop.css(«opacity», «0»);
isHidden = true;
else //scroll up
if (height > settings.min && isHidden)
toTop.css(«opacity», «1»);
isHidden = false;
else if(height <= settings.min && ! isHidden)
toTop.css(«opacity», «0»);
isHidden = true;
scrollPos = height;
);
;
function scrollToComments()
$(‘.button_go_comment’).on(‘click’, function(e)
e.preventDefault();
$(‘html, body’).animate( scrollTop: $(‘#comments’).offset().top-200 , 600);
);
function stickyRightBanner(id)
let windowWidth = window.innerWidth;
let isIExplore = (/MSIE (d+.d+);/.test(navigator.userAgent)
/**
Provoca el efecto sticky en los Banners
banner_id: id del div del banner
ad_block_index: índice del bloque
*/
function sticky_banners(banner_id, ad_block_index, post_id)
// Submenús de cabecerapara elecciones Madrid 2021
// Queda debajo de cabeceras
function cabeceraMadrid2021()
$(«#menu-elecciones-madrid-2021 ul.submenu»).parent(‘li’).on(‘click’, function()
try
// Hecmos el toggle a mano porque los efectos interfieren con el layout
if ($(this).children(«.submenu»).hasClass(«active»))
$(this).children(«.submenu»).removeClass(«active»);
else
$(this).children(«.submenu»).addClass(«active»);
catch(e)
console.error(«Error en el menú de Elecciones Madrid 2021», e);
);
cabeceraMadrid2021();
function checkBodyClass(body_class)
return document.querySelector(‘body’).classList.contains(body_class);
/*Muestra la publicidad en las noticias*/
function showAdSingle()
/* START DIRECTO Y ÚLTIMA HORA
/* Animación tipo slider para los menús */
function startMenuAnimation(name)
if ($(‘#menu-okd-‘ + name + ‘ li’).length > 1)
var menuItems = $(‘#menu-okd-‘ + name + ‘ li’);
var currentIndex = 0;
/* Animación automática */
var menuInterval = setInterval(intervalAnimation, 10000);
function intervalAnimation()
if (currentIndex != menuItems.length – 1)
currentIndex++;
slideFromRight(menuItems, currentIndex – 1, currentIndex);
else
currentIndex = 0;
slideFromRight(menuItems, menuItems.length – 1, currentIndex);
// Listener flecha izquierda
$(‘.flechas-navegacion.’ + name + ‘ i’).eq(0).on(‘click’, function(event)
event.stopPropagation();
clearInterval(menuInterval);
if (currentIndex > 0)
currentIndex–;
slideFromLeft(menuItems, currentIndex + 1, currentIndex);
menuInterval = setInterval(intervalAnimation, 8000);
else
currentIndex = menuItems.length – 1;
slideFromLeft(menuItems, 0, currentIndex);
menuInterval = setInterval(intervalAnimation, 8000);
);
// Listener flecha derecha
$(‘.flechas-navegacion.’ + name + ‘ i’).eq(1).on(‘click’, function(event)
event.stopPropagation();
clearInterval(menuInterval);
if (currentIndex != menuItems.length – 1)
currentIndex++;
slideFromRight(menuItems, currentIndex – 1, currentIndex);
menuInterval = setInterval(intervalAnimation, 8000);
else
currentIndex = 0;
slideFromRight(menuItems, menuItems.length – 1, currentIndex);
menuInterval = setInterval(intervalAnimation, 8000);
);
// Deslizar nuevo elemento desde la derecha
function slideFromRight(menuItems, prevIndex, currentIndex)
menuItems.eq(prevIndex).animate(
left: ‘-120%’
, 2000, function()
menuItems.css(‘left’, ‘120%’);
menuItems.eq(currentIndex).animate(
left: ‘0’
, 2000);
);
//Comportamiento de CatFish
function navigationCatfish()
var OKD_catfish = document.getElementById(«okd-catfish»);
var OKD_btn_CatFish= document.getElementById(«catfish-btn»);
var scroll = 700;
var code_home = ‘
googletag.cmd.push(function() googletag.display(«portada_sticky»); );
‘;
var code_seccion = ‘
googletag.cmd.push(function() googletag.display(«seccion_sticky»); );
‘;
var code_article = ‘
googletag.cmd.push(function() googletag.display(«articulo_sticky»); );
‘;
var adunit = »;
if ($(‘.home’).length)
var scroll = 4500;
//Aplicamos únicamente a dispositivos mobile.
if (screen.width < 450 && «undefinied» != OKD_catfish && null !=OKD_catfish && «undefined» != OKD_catfish && null != OKD_btn_CatFish)
//Cuando se muestra con scroll superior a 1000
if (window.pageYOffset >= scroll)
//Eliminamos las clases catfish-start y hide-catfish
OKD_catfish.classList.remove(‘catfish-start’);
OKD_catfish.classList.remove(‘hide-catfish’);
//En caso de que sea secciones
if($(‘#seccion_sticky’).length < 1) $(‘.page-id-796511’).length
else
//Añadimos hide-catfish para ocultar cuando el scroll sea menor
OKD_catfish.classList.add(‘hide-catfish’);
//Boton de cierre de catfish (Al pulsar añadimos clase close-catfish)
OKD_btn_CatFish.onclick = function closeCatFish()
OKD_catfish.classList.add(‘close-catfish’);
if(!$(‘#native-addthis-fixed’).hasClass(‘active’))
$(‘#native-addthis-fixed’).addClass(‘active’);
/*END COMPORTAMIENTO CATFISH*/
/*COMPORTAMIENTO CATFISH HEAVY USERS – START*/
function navigationCatfishHeavy()
var OKD_catfish_heavy = document.getElementById(«okd-catfish-heavy-users»);
var OKD_btn_CatFish_Heavy= document.getElementById(«catfish-heavy-btn»);
var scroll = 700;
var code_home = ‘
googletag.cmd.push(function() googletag.display(«portada_sticky_brand»); );
‘;
var code_seccion = ‘
googletag.cmd.push(function() googletag.display(«seccion_sticky_brand»); );
‘;
if ($(‘.home’).length)
var scroll = 4500;
//Aplicamos únicamente a dispositivos desktop.
if (screen.width > 1023 && «undefinied» != OKD_catfish_heavy && null !=OKD_catfish_heavy && «undefined» != OKD_catfish_heavy && null != OKD_btn_CatFish_Heavy)
//Cuando se muestra con scroll superior a 1000
if (window.pageYOffset >= scroll)
//Eliminamos las clases catfish-heavy-start y hide-catfish-heavy
OKD_catfish_heavy.classList.remove(‘catfish-heavy-start’);
OKD_catfish_heavy.classList.remove(‘hide-catfish-heavy’);
//En caso de que sea secciones
if($(‘#seccion_sticky_brand’).length < 1)
var code = «»;
var adunit = «»;
//Portada baleares
let in_portada_baleares = $(‘body’).hasClass(‘page’) && $(‘body’).hasClass(‘baleares’);
if($(‘#archiveContent’).length
else
//Añadimos hide-catfish-heavy para ocultar cuando el scroll sea menor
OKD_catfish_heavy.classList.add(‘hide-catfish-heavy’);
//Boton de cierre de catfish heavy user (Al pulsar añadimos clase close-catfish-heavy y reseteamos las cookies)
OKD_btn_CatFish_Heavy.onclick = function closeCatFish()
OKD_catfish_heavy.classList.add(‘close-catfish-heavy’);
if(!$(‘#native-addthis-fixed’).hasClass(‘active’))
$(‘#native-addthis-fixed’).addClass(‘active’);
createHeavyUsersCookie(‘cf1b1868cfdb9e0d1c09624581f9660e’, 30, 3);
createHeavyUsersCookie(‘3c784d68f92c2979f750fc027c395ee8’, 0, 0);
/*COMPORTAMIENTO CATFISH HEAVY USERS – END*/
// Deslizar nuevo elemento desde la izquierda
function slideFromLeft(menuItems, prevIndex, currentIndex)
menuItems.eq(prevIndex).animate(
left: ‘100%’
, 2000, function()
menuItems.css(‘left’, ‘-100%’);
menuItems.eq(currentIndex).animate(
left: ‘0’
, 2000);
);
/* END DIRECTO Y ÚLTIMA HORA */
/* FUNCIONALIDAD STICKY-TO-TOP EN VIDEOS DM VERSIÓN MOBILE – START*/
function sticky_to_top()
//Comprobamos que exista video, en caso de que no exista, la función nohace nada
let anchorId = ‘main-video-anchor’;
let wrapperId = ‘video-wrapper-‘ + context.oId;
if($(‘#’ + anchorId).length && screen.width < 450) btnclose === null)
btnclose = document.createElement(«div»);
btnclose.id = ‘video-close-button’;
btnclose.innerHTML=’X’;
btnclose.style.zIndex=’2′;
//En caso de cerrar el video sticky to top, eliminamos clase y añadimos clase featured-video-closed para que no vuelva a hacerse sticky
btnclose.onclick = function(e)
e.preventDefault();
e.stopPropagation();
//var videoDM = document.getElementById(wrapperId);
if(videoDM.classList.contains(‘sticky-to-top’))
videoDM.classList.remove(‘sticky-to-top’);
videoDM.classList.add(‘featured-video-closed’);
;
videoDM.appendChild(btnclose);
var scrollTop = window.pageYOffset;
var videoParentOffset = $(‘#’ + anchorId).offset().top; //container
//Si se hace scroll y llega al top de la pantalla, se hace sticky-to top
if (scrollTop >= videoParentOffset – 60 && !videoDM.classList.contains(‘featured-video-closed’))
//Añadimos clase
videoDM.classList.add(‘sticky-to-top’);
//Añadimos retardo a la aparición del boton close
if ($(‘#’ + anchorId).hasClass(‘btn-close-printed’))
btnclose.classList.add(‘btn-close-shown’);
else
let tm = setTimeout(function ()
btnclose.classList.add(‘btn-close-shown’);
$(‘#’ + anchorId).addClass(‘btn-close-printed’);
clearTimeout(tm);
, 7000);
else
//Comprobamos que exista y eliminamos la clase
if (videoDM.classList.contains(‘sticky-to-top’))
videoDM.classList.remove(‘sticky-to-top’);
/* FUNCIONALIDAD STICKY-TO-TOP EN VIDEOS DM VERSIÓN MOBILE – START */
/*LOAD SKY unicamente cuando la pantalla sea mayor de 1280px que es cuando se muestran*/
function loadSkys()
var code_sky_izquierda = »;
var code_sky_derecha = »;
//Se aplica únicamente a pantallas mayores de 1080 y que sean secciones
if(screen.width > 1280 && $(‘#postContent’).length < 1 && $(‘.home’).length < 1 )
$(‘.sky-left’).append(code_sky_izquierda);
$(‘.sky-right’).append(code_sky_derecha);
if (window.innerWidth > 767)
let sky_dcha = document.getElementById(‘sky-derecha’);
let sky_izda = document.getElementById(‘sky-derecha’);
let top1BoundingTop = document.getElementById(‘okd_top1_original’).getBoundingClientRect().top;
if (null !==sky_dcha && 0 < sky_dcha.length)
document.getElementById(‘sky-derecha’).style.top = top1BoundingTop + ‘px’;
if (null !==sky_izda && 0 < sky_izda.length)
document.getElementById(‘sky-izquierda’).style.top = top1BoundingTop + ‘px’;
/*LOAD SKY – END*/
function sticky_skies()
let sky_izquierda = document.getElementById(‘sky-izquierda’);
let sky_derecha = document.getElementById(‘sky-derecha’);
// let inital_top = Math.abs(document.getElementById(‘okd_top1_original’).getBoundingClientRect().top – document.getElementById(‘page’).getBoundingClientRect().top);
let inital_top = Math.abs(document.getElementById(‘okd_top1_original’).getBoundingClientRect().top);
let inferiorBottom;
let superiorBottom;
if (window.innerWidth > 767 && typeof sky_izquierda !== ‘undefined’
&& sky_izquierda !== null && typeof sky_derecha !== ‘undefined’
&& sky_derecha !== null)
// declaramos su posición fixed de entrada, y le damos el mismo top que ok-top-1
sky_izquierda.style.position = ‘fixed’;
sky_derecha.style.position = ‘fixed’;
sky_izquierda.style.top = inital_top + ‘px’;
sky_derecha.style.top = inital_top + ‘px’;
// podemos dejar de escuchar scroll por intersectionObserver
document.addEventListener(‘scroll’, function()
let header = document.getElementById(«okd-cabecera»);
headerBottom = header.getBoundingClientRect().bottom;
if (headerBottom <= 40)
sky_izquierda.style.top = ( headerBottom + 2) + ‘px’;
sky_derecha.style.top = (headerBottom + 2) + ‘px’;
else
// Seguimos dándole el top de ok-top-1 siempre que no esté la cabecera recogida
sky_izquierda.style.top = document.getElementById(‘top1’).getBoundingClientRect().top + ‘px’;
sky_derecha.style.top = document.getElementById(‘top1’).getBoundingClientRect().top + ‘px’;
);
function removeBottomAdIfIsDesktopAndHasRecetasOrHasHowtoOrHasDeportes() $(‘body’).hasClass(‘deportes’)))
$(‘#bottom’).remove();
/* CountDown de Javier Cárdenas – BORRAR CUANDO YA NO HAGA FALTA PLZ */
if($(«#cardenas-cuenta-atras»).length)
var diasDiv = document.getElementById(‘dias’);
var horasDiv = document.getElementById(‘horas’);
var minutosDiv = document.getElementById(‘minutos’);
var fechaCardenas = new Date(«Sep 6, 2021 06:59:59»).getTime();
var cardenasCounter = setInterval(function()
var ahora = new Date().getTime();
var cuantoQueda = fechaCardenas – ahora;
var dias = Math.floor(cuantoQueda / (1000 * 60 * 60 * 24));
var horas = Math.floor((cuantoQueda % (1000 * 60 * 60 * 24))/(1000 * 60 * 60));
var minutos = Math.floor((cuantoQueda % (1000 * 60 * 60))/ (1000 * 60));
var segundos = Math.floor((cuantoQueda % (1000 * 60)) / 1000);
horasDiv.innerHTML = «
«+ horas + «horas
«;
minutosDiv.innerHTML = «
«+ minutos + «minutos
«;
diasDiv.innerHTML = «
«+ dias + «dias
«;
if (cuantoQueda < 0)
clearInterval(cardenasCounter);
document.getElementById(«cardenas-cuenta-atras»).innerHTML += «Terminó»;
, 1000);
if ((document.body.classList.contains(‘okshopping’) && typeof document.querySelector(‘.okshopping .double-widget-container’) !== ‘undefined’ && null !== document.querySelector(‘.okshopping .double-widget-container’))
||(document.body.classList.contains(‘loteria-navidad’) && typeof document.querySelector(‘.loteria-navidad .double-widget-container’) !== ‘undefined’ && null !== document.querySelector(‘.loteria-navidad .double-widget-container’))
||(document.body.classList.contains(‘mundial’) && typeof document.querySelector(‘.mundial .double-widget-container’) !== ‘undefined’ && null !== document.querySelector(‘.mundial .double-widget-container’)))
document.querySelectorAll(‘.double-widget-container .double-widget-container-tabs > span’).forEach(function (tab, index)
tab.addEventListener(‘click’, function(event)
let childNumber = index + 1;
if (!tab.classList.contains(‘tab-active’))
document.querySelector(‘.double-widget-container .double-widget-container-tabs > span:nth-child(‘ + ((childNumber % 2) + 1) + ‘)’).classList.remove(‘tab-active’);
tab.classList.add(‘tab-active’);
document.querySelector(‘.double-widget-container .double-widget-container-widgets .widget.most-viewed:nth-child(‘ + ((childNumber % 2) + 1) + ‘)’).style.display = ‘none’;
document.querySelector(‘.double-widget-container .double-widget-container-widgets .widget.most-viewed:nth-child(‘ + childNumber + ‘)’).style.display = ‘block’;
);
);
/*! jQuery & Zepto Lazy v1.7.6 – http://jquery.eisbehr.de/lazy – MIT&GPL-2.0 license – Copyright 2012-2017 Daniel ‘Eisbehr’ Kern */
!function(t,e)»use strict»;function r(r,a,i,u,l),key:»_fastCheck»,value:function(),key:»_deactivate»,value:function()d(this._parent.node.style,this._parent.styles),delete this._parent,this._stickyMode=null,this._active=!1,delete this._offsetToWindow,delete this._offsetToParent,delete this._limits),key:»remove»,value:function()var a=this;this._deactivate(),l.some(function(b,c)if(b._node===a._node)return l.splice(c,1),!0),this._removed=!0]),g(),n=stickies:l,Sticky:m,addOne:function(a)if(!(a instanceof HTMLElement))!a[0])return;a=a[0]for(var b=0;b
Cultura – okdiario.com