Contenido
“Anatomía de un asesinato”, en Eurochannel
// ------------------------------------------------------------------------------------------------------------------------------- // 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 // ======================================
CIUDAD DE MÉXICO (apro).- Crimen, acción y drama ofrece la serie checa Anatomía de un asesinato, dirigida por el cineasta Jan H?ebejk, que se proyecta desde el 3 de diciembre de este año en Eurochannel.
El elenco lo integran Miroslav Krobot, Stanislav Majer, Klára Melíšková y Tereza Vo?íšková, y son 16 episodios de 68 minutos cada uno.
La serie posee un poco de suspenso y terror. Aquí detectives del Departamento de Crímenes investigan asesinatos extraños e impactantes en una ciudad checa. A medida que la unidad investiga los delitos, descubre casos desgarradores de rituales de exorcismo, corrupción, traiciones y robos multimillonarios. Y no se detendrá hasta encontrar la verdad.
Es la primera temporada, aunque ya va en la quinta, pero el público latinoamericano conocerá este proyecto de la República Checa, ya que es difícil ver los contenidos de países tan lejanos, incluso en México. Y se espera que las otras cuatro etapas las trasmita Eurochannel.
El crimen acecha de cerca a Praga, la capital. En una ciudad pequeña y tranquila, el asesinato violento de una mujer llama la atención, no sólo de la policía, sino de todo el país. Encontrado en una iglesia, el crimen tiene visos de un ritual nunca visto antes, y de tortura.
Dividida en tres partes, la primera temporada de Anatomía de un asesinato está inspirada en la tradición literaria y cinematográfica británica de dramas oscuros. La narración es apasionante, llena de giros y sorpresas, mientras los personajes principales, la mayor Výrová, el teniente Mráz y su controvertido jefe, el coronel Vitouš, investigan un homicidio que involucra un exorcismo.
Jan Hrebejk nació el 27 de junio de 1967 en Praga, y es uno de los realizadores de cine más famosos de la República Checa. Estuvo al frente de El amor en tiempos de odio (2000), Pelísky (1999) y Horem pádem (2004).
En el episodio uno, el padre Karas (Jan Budar) está enamorado de una joven maestra, Veronika (Tana Hlostova). Quiere casarse con ella y dejar el sacerdocio. Los planes de Karas son interrumpidos por el asesinato de su amada Veronika. Es encontrada estrangulada en el altar de la iglesia de Karas. Fue torturada, violada y marcada con un símbolo satánico en su cuerpo.
En la parte dos, Karas (Jan Budar) es el principal sospechoso de matar a la mujer que amaba. El crimen y sus motivos tienen un trasfondo mucho menos escandaloso de lo que inicialmente parecía.
Para el episodio tres, antes de su romance con el padre Karas, Veronika tuvo un amorío con un profesor universitario. Pronto queda claro que la intención del verdadero asesino era culpar al sacerdote. ¿Pero quién torturaría a la víctima para aparentar un exorcismo?
Ya en el programa cuatro el cuerpo del profesor Chalupa, hombre popular en el Departamento de Lingüística, es encontrado en los terrenos de la facultad. A medida que avanza la investigación, se revela que el profesor estaba tras un escándalo de corrupción que involucra a la administración de la facultad.
En la parte cinco, el cadáver del editor regional de la cadena de noticias es hallado. Marie Výrová y su equipo descubren que Chalupa estaba trabajando con el periodista para preparar una historia sobre corrupción en la universidad.
Se ve en el título seis que Výrová organiza una trampa y menciona a quien la policía sospecha de haber planeado o ejecutado las muertes, luego de encontrar material comprometedor entre los artículos del reportero.
Comentarios
// 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: