Contenido
Intervenciones al espacio doméstico
// ------------------------------------------------------------------------------------------------------------------------------- // 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 // ======================================
Escena viva. Intervenciones al espacio doméstico es un ciclo que se presenta del 23 de junio al 21 de julio en la plataforma del Museo Universitario del Chopo, donde distintos artistas ofrecen sus trabajos.
Creadores de teatro, de danza, de la plástica e interdisciplinarios hacen sus propuestas. Llaman la atención varios de ellos por sus evocaciones, sus juegos espaciales, o por las emociones que generan.
Besos es una provocación de lo que se tiene de manera restrictiva y que se presenta en 15 minutos, duración de cada una de las piezas. Es un bellísimo trabajo de Toztli Abril de Dios, donde la artista transdisciplinaria habla y piensa acerca de lo que significan las expresiones afectivas. Vemos a una mujer y a un niño cerca, muy cerca, revoloteando, jugando, abrazándose y dándose de besos, algo que en estos momentos se vive a la distancia. La experiencia confronta lo que antes parecía normal y ahora nos genera un signo de interrogación y una brutal nostalgia.
Nicolas Poggi, en Gallina, pone en evidencia el contraste del aislamiento con la saturación de información en los medios digitales. Es un intento por meditar y encontrar la paz frente a la contaminación externa y la resignificación de las acciones cotidianas. En el video el personaje salta al exterior con un traje amarillo que lo cubre por completo, recorre calles y regresa a su lugar para desnudarse y dejar escrito en la pantalla con letras amarillas: “Me siento inestable y frágil, vacío de racionalidad y lleno de dilemas”.
Teatro Bola de Carne, de Micaela Gramajo y Bernardo Gamboa, investiga las posibilidades de comunicación a partir de los habitantes de un edificio en Sólo queda el mar. Desarrollan su propuesta con textos poéticos y repetidas acciones cotidianas absurdas que rozan con lo dancístico, con el colorido de las ventanas y los personajes que se asoman en ellas. Muestran de manera ingeniosa la relación entre los habitantes a través de las ventanas de un edificio y hacen que éste se convierta en un organismo vivo. Diversos actores recrean sus personajes y aportan una estética colectiva que nos habla de la convivencia y de la colectividad.
Otras piezas, hechas desde lo doméstico, son de parejas creativas como Jomi Oligor y Shaday Larios (Oligor/Microscopía) en Zurcido invisible, y Jacqueline Serafín e Iker Vicente (La liga de Teatro Elástico) con Fragmentos de lo cotidiano. Ésta habla de las vivencias de una familia que se traslada a un espacio rural y lo redescubre. Con cortes bruscos e incómodos, cambian las temáticas acompañadas de títulos para fragmentos un tanto limitados propositivamente.
Zurcido invisible es de los videos más poderosos de este ciclo, tanto por su poesía como por las imágenes y contenido. En esta pieza conocemos la casa que habitó una mujer cuya vida dedicó a cuidar de los otros y que conocemos por el recorrido visual de los espacios, las texturas y un sinfín de objetos del pasado, acompañados de frases poéticas al pie de las imágenes. A través de la ausencia física se hace presente una mujer que dejó huellas contundentes a través de su quehacer, su espacio vital y sus pertenencias.
El martes 21 concluirá el ciclo con la intervención Otra cosa. Apuntes para mi rehabilitación del 31, de Laura Agorreca.
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: