1$(document).ready(() => { 2 $('.block_3col-adBanner.slide .content.mobile').each((n, ele) => { 3 $(ele).owlCarousel({ 4 loop:true, 5 margin:10, 6 nav:true, 7 dots:true, 8 items:1, 9 navText : ['<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M15.9999 0.66L1.00006 15.6601L15.9999 30.6602" stroke="#2F2F2F" stroke-width="0.75"/> </svg>','<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M1.00024 30.6603L16.0001 15.6602L1.00027 0.660156" stroke="#2F2F2F" stroke-width="0.75"/> </svg>'] 10 }) 11 }); 12 13 $('.block_3col-news-addBanner.slide .content.mobile').each((n, ele) => { 14 $(ele).owlCarousel({ 15 loop:true, 16 margin:10, 17 nav:true, 18 dots:true, 19 items:1, 20 navText : ['<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M15.9999 0.66L1.00006 15.6601L15.9999 30.6602" stroke="#2F2F2F" stroke-width="0.75"/> </svg>','<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M1.00024 30.6603L16.0001 15.6602L1.00027 0.660156" stroke="#2F2F2F" stroke-width="0.75"/> </svg>'] 21 }) 22 }); 23 24 $('.block_opinion.slide .content').each((n, ele) => { 25 $(ele).owlCarousel({ 26 loop:true, 27 margin:10, 28 nav:true, 29 dots:true, 30 items:1, 31 navText : ['<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M15.9999 0.66L1.00006 15.6601L15.9999 30.6602" stroke="#2F2F2F" stroke-width="0.75"/> </svg>','<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M1.00024 30.6603L16.0001 15.6602L1.00027 0.660156" stroke="#2F2F2F" stroke-width="0.75"/> </svg>'] 32 }) 33 }); 34 35 //Evento click menu lateral 36 let side_menu = $(".block_menu-desktop"); 37 let close_side_menu = (e) => { 38 e.preventDefault(); 39 side_menu.removeClass('open'); 40 $('body') 41 .removeClass('open-menu') 42 .off('click', close_side_menu); 43 }; 44 45 $('body') 46 .on('click', ".toggle-side-menu", (e) => { 47 e.preventDefault(); 48 side_menu.toggleClass('open'); 49 $('body') 50 .toggleClass('open-menu') 51 .on('click', close_side_menu); 52 }); 53 54 let last_menu_opened = null; 55 side_menu 56 // click on the menu background does nothing by default 57 .on('click', (e) => { 58 e.stopImmediatePropagation(); 59 }) 60 .on('click', ".ico-close", close_side_menu) 61 .on('click', '[data-depth] > a > div', (e) => { 62 // Click on a menu entry 63 e.stopImmediatePropagation(); 64 }) 65 .on('click', '[data-depth] > a', (e) => { 66 // click on a menu opens submenu 67 e.preventDefault(); 68 e.stopPropagation(); 69 if (e.currentTarget != last_menu_opened) { 70 if (last_menu_opened) 71 $(last_menu_opened).next().removeClass('open').parent().removeClass('unfolded'); 72 last_menu_opened = e.currentTarget; 73 } 74 else last_menu_opened = null; 75 $(e.currentTarget).next().toggleClass('open').parent().toggleClass('unfolded'); 76 77 }); 78 79 //Leer más block_open-portadilla-especial 80 $('.block_open-portadilla-especial').on('click', ".wrap-read-more", (e) => { 81 e.preventDefault(); 82 $(".excerpt", e.delegateTarget).toggleClass("view-all"); 83 }); 84 85 // Scroll 86 $(window).on("scroll", () => { 87 let scrollPosition = window.scrollY || document.documentElement.scrollTop; 88 let body = document.body; 89 90 if (scrollPosition > 40) { 91 body.classList.add('scrolled'); 92 } else if (scrollPosition <= 0) { 93 body.classList.remove('scrolled'); 94 } 95 }); 96 97 let header_portadilla = $('.block_header_portadilla'); 98 if (header_portadilla.length > 0) { 99 let inner = $('.block_menu-inner-portadilla')[0]; 100 $(window).on('scroll', () => { 101 let scrollPosition = window.scrollY || document.documentElement.scrollTop; 102 let body = document.body; 103 104 let inner_area = inner.getBoundingClientRect(); 105 body.classList.toggle('change-header', inner_area.bottom < 60); 106 }) 107 } 108 109 //Progressbar 110 const blockProgressBar = document.querySelector(".block_progressbar"); 111 112 if(blockProgressBar) { 113 114 let progressBar = blockProgressBar.querySelector(".progress-bar"); 115 116 let documentHeight = Math.max( 117 document.body.scrollHeight, document.body.offsetHeight, 118 document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight 119 ); 120 121 window.addEventListener("scroll", function() { 122 let scrollTop = window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop; 123 let scrollPercentage = (scrollTop / (documentHeight - window.innerHeight)) * 100; 124 125 progressBar.style.width = scrollPercentage + "%"; 126 }); 127 } 128 129 //Swipe menu 130 const blockMenu = document.querySelector(".block_menu"); 131 132 if(blockMenu) { 133 134 const navContainer = blockMenu.querySelector('.nav-menu'); 135 136 navContainer.addEventListener('mousedown', (e) => { 137 138 if(window.innerWidth < 768 && window.innerWidth > 1224) 139 return; 140 141 e.preventDefault(); 142 let startX = e.pageX; 143 let startScroll = navContainer.scrollLeft; 144 navContainer.style.cursor = 'grabbing'; 145 146 let mousemove = (e) => { 147 e.preventDefault(); 148 let walk = e.pageX - startX; 149 navContainer.scrollLeft = startScroll - walk; 150 }; 151 152 let mouseup = (e) => { 153 e.preventDefault(); 154 navContainer.style.cursor = 'grab'; 155 window.removeEventListener('mousemove', mousemove); 156 window.removeEventListener('mouseup', mouseup); 157 }; 158 159 window.addEventListener('mousemove', mousemove); 160 window.addEventListener('mouseup', mouseup); 161 }); 162 } 163 164 //Swipe top header 165 const blockTopHeader = document.querySelector(".block_top-header"); 166 167 if(blockTopHeader) { 168 169 const navContainer = blockTopHeader.querySelector('.nav-content'); 170 171 navContainer.addEventListener('mousedown', (e) => { 172 e.preventDefault(); 173 let startX = e.pageX; 174 let startScroll = navContainer.scrollLeft; 175 navContainer.style.cursor = 'grabbing'; 176 177 let mousemove = (e) => { 178 e.preventDefault(); 179 let walk = e.pageX - startX; 180 navContainer.scrollLeft = startScroll - walk; 181 }; 182 183 let mouseup = (e) => { 184 e.preventDefault(); 185 navContainer.style.cursor = 'grab'; 186 window.removeEventListener('mousemove', mousemove); 187 window.removeEventListener('mouseup', mouseup); 188 }; 189 190 window.addEventListener('mousemove', mousemove); 191 window.addEventListener('mouseup', mouseup); 192 }); 193 } 194 195 $(document.body).on('click', '.wrap-go-back p', (e) => { 196 e.preventDefault(); 197 window.history.back(); 198 }); 199 200 // Compartir 201 let facebookShare = (e) => { 202 e.preventDefault(); 203 let app_id = 292213061927134, 204 article = encodeURIComponent(e.currentTarget.href+'?origin=FB'), 205 title = encodeURIComponent($(e.currentTarget).data('title')); 206 207 let url = `https://www.facebook.com/dialog/share?display=popup&app_id=${app_id}&href=${article}"e=${title}`; 208 window.open(url, 'facebookShare', 'width=626,height=436'); 209 }; 210 211 let twitterShare = (e) => { 212 e.preventDefault(); 213 let article = encodeURIComponent(e.currentTarget.href+'?origin=X'), 214 title = encodeURIComponent($(e.currentTarget).data('title')); 215 216 let url = `https://x.com/intent/tweet?text=${title}&url=${article}&via=PorEstoOnline&lang=es`; 217 window.open(url, 'twitterShare', 'width=626,height=436'); 218 }; 219 220 let linkedinShare = (e) => { 221 e.preventDefault(); 222 let article = encodeURIComponent(e.currentTarget.href+'?origin=LIn'); 223 let url = `https://www.linkedin.com/sharing/share-offsite/?url=${article}`;
224 window.open(url, 'linkedInShare', 'width=626,height=436'); 225 } 226 227 let copyLink = (e) => { 228 e.preventDefault(); 229 navigator.clipboard.writeText(e.currentTarget.href).then( 230 () => { 231 console.log('Content copied to clipboard'); 232 }, 233 () => { 234 console.error('Failed to copy'); 235 }); 236 }; 237 238 let live = $('#live-timeline'); 239 if (live[0]) { 240 function updateDates() { 241 let ret = false; 242 let now = Date.now(); 243 $('.box>.timeline>.time', live).each((n, it) => { 244 let diff = now - Date.parse($(it).data('time')); 245 let pref = diff>0 ? 'Hace' : 'Faltan'; 246 diff = Math.abs(diff); 247 if (diff < 86400000) { // one day 248 let min = Math.floor(diff/1000/60) % 60; 249 let hours = Math.floor(diff/1000/60/60); 250 if (hours > 0) { 251 if (hours > 1) 252 $(it).text(`${pref} ${hours} horas y ${min} min`); 253 else 254 $(it).text(`${pref} 1 hora y ${min} min`); 255 } 256 else $(it).text(`${pref} ${min} min`); 257 ret = true; 258 } 259 }); 260 return ret; 261 } 262 263 if (updateDates()) { 264 setInterval( updateDates, 60000 ); 265 } 266 267 live 268 .on('click', '.wrap-facebook a.link', facebookShare) 269 .on('click', '.wrap-twitter a.link', twitterShare); 270 } 271 272 let single = $('body.page-single'); 273 if (single[0]) { 274 single 275 .on('click', ".wrap-share .share, .wrap-re-text .re-text", (e) => { 276 let button = $(e.target); 277 let close = (e) => { 278 e.stopImmediatePropagation(); 279 button.removeClass('open'); 280 }; 281 if (!button.hasClass('open')) { 282 button.addClass('open'); 283 $('body').one('click', close); 284 } 285 else { 286 button.removeClass('open'); 287 $('body').off('click', close); 288 } 289 }) 290 .on('click', 'a.facebook', facebookShare) 291 .on('click', 'a.twitter', twitterShare) 292 .on('click', 'a.linkedin', linkedinShare) 293 .on('click', 'a.copy', copyLink) 294 295 .on('click', '.box-re-text .box', (e) => { 296 e.preventDefault(); 297 let el = $(e.currentTarget); 298 el.parent().children().removeClass('active'); 299 el.addClass('active'); 300 if (el.hasClass("small")) { 301 $('html') 302 .removeClass("font-medium") 303 .removeClass("font-large") 304 .addClass("font-small"); 305 } 306 else if (el.hasClass("medium")) { 307 $('html') 308 .removeClass("font-small") 309 .removeClass("font-large") 310 .addClass("font-medium"); 311 } 312 else if (el.hasClass("big")) { 313 $('html') 314 .removeClass("font-small") 315 .removeClass("font-medium") 316 .addClass("font-large"); 317 } 318 319 }); 320 321 let playVideo = (wrap_video) => { 322 323 if (!wrap_video[0]) return; 324 325 let wrap_caratula = wrap_video.prev(), 326 type = wrap_video.data('type'); 327 328 wrap_caratula.hide(); 329 wrap_video.show(); 330 switch(type) { 331 case 'youtube': 332 let iframe = $('iframe', wrap_video)[0]; 333 iframe.src += '?autoplay=1'; 334 break; 335 case 'simple': 336 let video = $('video', wrap_video)[0]; 337 video.autoplay = true; 338 if (video.readyState == 4) 339 video.play(); 340 else 341 video.addEventListener('canplay', () => { 342 video.play(); 343 }); 344 break; 345 } 346 347 }; 348 349 single 350 .on('click', '.wrap-img-featured.video .wrap', (e) => { 351 e.preventDefault(); 352 playVideo($(e.target).next()); 353 }); 354 355 if (location.search.indexOf('autoplay=1') >= 0) playVideo($('.wrap-img-featured.video .wrap-video')); 356 357 358 $('body').on('click', '.refresh-live', (e) => { 359 e.preventDefault(); 360 location.reload(); 361 }); 362 363 if (window.innerWidth <= 768) { 364 let whatapplink = $('.wrap-share .box-share a.whatsapp', single); 365 whatapplink 366 .attr('href', "whatsapp://send?text="+encodeURIComponent(location.href+'\r\n"'+whatapplink.data('title'))) 367 .removeAttr('target'); 368 } 369 } 370 371 $('body').on('click', '.load-more', (e) => { 372 373 e.preventDefault(); 374 375 const loadmore = $(e.currentTarget); 376 const path = loadmore.data('path'); 377 378 let page = loadmore.data('page'); 379 if (!page) { 380 const urlqs = new URLSearchParams(window.location.search); 381 page = parseInt(urlqs.get('page') || 0); 382 } 383 384 $.ajax({ 385 url: `/mod/${path}/${page + 1}_body.html`, 386 success: (resp) => { 387 let resp_content = $('>div>div.col-left>.content', $(resp)); 388 loadmore.prev().append(resp_content.children()); 389 loadmore.data('page', page+1); 390 391 let next_page = resp_content.next('.load-more'); 392 if (next_page.length == 0) loadmore.remove(); 393 394 } 395 }); 396 }); 397 398 let blockStickyAdd = document.getElementById('sticky_add'); 399 if (blockStickyAdd) { 400 let timeoutId = null; // Variable para almacenar el ID del temporizador 401 402 window.addEventListener('scroll', function() { 403 let scrollPosition = window.scrollY; 404 405 if (scrollPosition >= 200) { 406 blockStickyAdd.classList.add('active'); 407 blockStickyAdd.classList.remove('closed'); // Asegurarse de que 'closed' se elimine si la posición es mayor o igual a 200 408 clearTimeout(timeoutId); // Limpiar el temporizador si ya está configurado 409 } else { 410 blockStickyAdd.classList.add('closed'); 411 // Configurar un temporizador solo si no está configurado actualmente y la clase 'closed' aún no está presente 412 if (!blockStickyAdd.classList.contains('closed') && timeoutId === null) { 413 timeoutId = setTimeout(() => { 414 blockStickyAdd.classList.remove('active'); 415 timeoutId = null; // Restablecer el ID del temporizador 416 }, 1000); 417 } 418 } 419 }); 420 421 const closeBTN = blockStickyAdd.querySelector(".wrap-svg"); 422 if(closeBTN) closeBTN.addEventListener("click", e => {blockStickyAdd.classList.remove('active');}) 423 424 } 425 426 $('body').on('contextmenu', 'video', function(ev) { 427 ev.preventDefault(); 428 }); 429})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.