Contenido
Guerra Rusia-Ucrania
Guerra en Ucrania: Rusia ataca con misiles balísticos ciudades de Kiev y Járkiv
Los ataques crearon una escena matutina de desolación en la capital, en la que la mayoría de los restaurantes y cafés no abrieron. Mucha gente optó por permanecer bajo techo o procuró acudir a refugios mientras poderosas explosiones sacudían la ciudad desde la madrugada.

// ------------------------------------------------------------------------------------------------------------------------------- // PHOTOSWIPE
var initPhotoSwipeFromDOM = function(gallerySelector) {
// parse slide data (url, title, size ...) from DOM elements // (children of gallerySelector) var parseThumbnailElements = function(el) { var thumbElements = el.childNodes, numNodes = thumbElements.length, items = [], figureEl, linkEl, size, item;
for(var i = 0; i < numNodes; i++) {
figureEl = thumbElements[i]; //
// include only element nodes if(figureEl.nodeType !== 1) { continue; }
linkEl = figureEl.children[0]; // element
size = linkEl.getAttribute('data-size').split('x');
// create slide object item = { src: linkEl.getAttribute('href'), w: parseInt(size[0], 10), h: parseInt(size[1], 10) };
if(figureEl.children.length > 1) {
//
if(linkEl.children.length > 0) {
// thumbnail element, retrieving thumbnail url
item.msrc = linkEl.children[0].getAttribute('src');
}
item.el = figureEl; // save link to element for getThumbBoundsFn items.push(item); }
return items; };
// find nearest parent element var closest = function closest(el, fn) { return el && ( fn(el) ? el : closest(el.parentNode, fn) ); };
// triggers when user clicks on thumbnail var onThumbnailsClick = function(e) { e = e || window.event; e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
// find root element of slide var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); });
if(!clickedListItem) { return; }
// find index of clicked item by looping through all child nodes // alternatively, you may define index via data- attribute var clickedGallery = clickedListItem.parentNode, childNodes = clickedListItem.parentNode.childNodes, numChildNodes = childNodes.length, nodeIndex = 0, index;
for (var i = 0; i < numChildNodes; i++) { if(childNodes[i].nodeType !== 1) { continue; } if(childNodes[i] === clickedListItem) { index = nodeIndex; break; } nodeIndex++; } if(index >= 0) { // open PhotoSwipe if valid index found openPhotoSwipe( index, clickedGallery ); } return false; };
// parse picture index and gallery index from URL (#&pid=1&gid=2) var photoswipeParseHash = function() { var hash = window.location.hash.substring(1), params = {};
if(hash.length < 5) { return params; } var vars = hash.split('&'); for (var i = 0; i < vars.length; i++) { if(!vars[i]) { continue; } var pair = vars[i].split('='); if(pair.length < 2) { continue; } params[pair[0]] = pair[1]; } if(params.gid) { params.gid = parseInt(params.gid, 10); } return params; }; var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) { var pswpElement = document.querySelectorAll('.pswp')[0], gallery, options, items; items = parseThumbnailElements(galleryElement); // define options (if needed) options = { // define gallery index (for URL) galleryUID: galleryElement.getAttribute('data-pswp-uid'), getThumbBoundsFn: function(index) { // See Options -> getThumbBoundsFn section of documentation for more info var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail pageYScroll = window.pageYOffset || document.documentElement.scrollTop, rect = thumbnail.getBoundingClientRect();
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; }
};
// PhotoSwipe opened from URL if(fromURL) { if(options.galleryPIDs) { // parse real index when custom PIDs are used // http://photoswipe.com/documentation/faq.html#custom-pid-in-url for(var j = 0; j < items.length; j++) { if(items[j].pid == index) { options.index = j; break; } } } else { // in URL indexes start from 1 options.index = parseInt(index, 10) - 1; } } else { options.index = parseInt(index, 10); } // exit if index not found if( isNaN(options.index) ) { return; } if(disableAnimation) { options.showAnimationDuration = 0; } // Pass data to PhotoSwipe and initialize it gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); gallery.init(); }; // loop through all gallery elements and bind events var galleryElements = document.querySelectorAll( gallerySelector ); for(var i = 0, l = galleryElements.length; i < l; i++) { galleryElements[i].setAttribute('data-pswp-uid', i+1); galleryElements[i].onclick = onThumbnailsClick; } // Parse URL and open gallery if it contains #&pid=3&gid=1 var hashData = photoswipeParseHash(); if(hashData.pid && hashData.gid) { openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid - 1 ], true, true ); } }; // execute above function initPhotoSwipeFromDOM('.my-gallery'); // ====================================== // FIN SCRIPTS PHOTOSWIPE // ======================================
KIEV, Ucrania (AP) — Las dos ciudades más grandes de Ucrania fueron atacadas el martes con misiles balísticos hipersónicos rusos, los cuales mataron a cuatro personas y lesionaron a casi 100, dijeron funcionarios, en un momento en que las fuerzas del Kremlin incrementan el bombardeo invernal de áreas urbanas al acercarse el segundo aniversario de la guerra.
El presidente ucraniano Volodimir Zelenski indicó en su canal de Telegram que cuatro civiles murieron y 92 quedaron heridos en la capital, Kiev, y en la región nororiental de Járkiv luego de que misiles Kinzhal —que pueden desplazarse a 10 veces la velocidad del sonido— cayeron sobre manzanas de la ciudad.
Desde el domingo, señaló Zelenski, las fuerzas del Kremlin han lanzado unos 170 drones Shahed y “docenas de misiles de diversos tipos” contra blancos ucranianos. La mayoría estaban dirigidos a áreas civiles, recalcó.
El Kh-47M2 Kinzhal es un misil balístico hipersónico lanzado desde el aire. Las fuerzas rusas rara vez utilizan misiles tan caros contra Ucrania debido a que tienen reservas limitadas de ellos.
Los ataques crearon una escena matutina de desolación en la capital, en la que la mayoría de los restaurantes y cafés no abrieron. Mucha gente optó por permanecer bajo techo o procuró acudir a refugios mientras poderosas explosiones sacudían la ciudad desde la madrugada.
Las sirenas antiaéreas sonaron durante casi cuatro horas, y las estaciones del metro —que operan como refugios— estaban atestadas.
El viernes, Rusia efectuó su mayor ataque sobre Ucrania desde que la guerra empezó, en el que al menos 41 civiles perdieron la vida.
Al día siguiente, proyectiles que cayeron sobre la ciudad fronteriza rusa de Belgorod mataron a más de dos docenas de personas. Moscú culpó a Kiev y ha contraatacado repetidas veces desde entonces.
El ataque sobre Belgorod fue uno de los más letales en llevarse a cabo sobre territorio ruso desde que el Kremlin decidió invadir Ucrania hace más de 22 meses. Funcionarios rusos dijeron que la cifra de muertos era de 25 hasta el lunes, incluidos cinco niños.
Comentarios
Otras Noticias
// Obtener todos los elementos con clase .col-md-12 var colElements = document.querySelectorAll('.col-md-12');
// Iterar sobre cada elemento colElements.forEach(function(element) { // Verificar si tiene un hijo inmediato con clase .titulo-region var tituloRegion = element.querySelector('.titulo-region');
if (tituloRegion) { // Agregar la clase .is-sticky al elemento padre element.classList.add('is-sticky'); } });
// Obtener el elemento article dentro de .fila-especial-v2 .p50 var articleElement = document.querySelector('.home .fila-especial-v2 .p50 article');
// Obtener el texto del elemento .z-foto .bajada p var bajadaText = articleElement.querySelector('.z-foto .bajada p').textContent;
// Crear un nuevo elemento para mostrar el texto obtenido var textoElement = document.createElement('p'); textoElement.textContent = bajadaText;
// Obtener el elemento .z-txt .titulo dentro del article var tituloElement = articleElement.querySelector('.z-txt .titulo');
// Insertar el nuevo elemento al final del article articleElement.appendChild(textoElement);
Cortesía de Proceso.

Dejanos un comentario: