Contenido
Morena ve estrategia para desalentar el voto en ‘atípico” retraso en instalación de casillas
// ------------------------------------------------------------------------------------------------------------------------------- // 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 // ======================================
Acompañado del coordinador de campaña, Alfonso Suárez del Real, e integrantes de la campaña electoral, en conferencia de prensa Cravioto consideró “atípico el atraso generalizado” en la instalación de casillas, “haciendo esperar hasta tres horas a los ciudadanos que llegaron desde temprano a formarse con la intención de sufragar”.
Para el coordinador, el retardo podría formar parte de una estrategia “para que la gente no vote, porque la gente que no puede esperar tres horas, se va ya no regresa”.
La sospecha de Cravioto se deriva de acuerdo al reporte de las 10:54 de la mañana, se habían instalado el 60% de las casi 13 mil 300 casillas que corresponden a la capital. “Si eso pasa en esta Ciudad, ¿qué no pasara en las localidades más remotas del país?”, cuestionó el vocero.
Cravioto señaló que las irregularidades más graves fueron detectadas en las horas previas a la votación, con estrategia de “guerra sucia” contra los candidatos de la alianza, hechos que sin dudarlo atribuyó a la coalición PAN-PRD-Movimiento Ciudadano.
Guerra sucia
De acuerdo con el vocero de la alianza Juntos Haremos Historia, en la víspera y en las primeras horas de la jornada, ciudadanos recibieron llamadas con la voz del diputado federal plurinominal, Mauricio Toledo, “llamando a votar a favor del Frente por México”, en tanto que este sábado se advirtió la distribución de recursos correspondientes al Seguro del Desempleo, a través de las sucursales de Scotiabank, “para pagar a los operadores y promotores del voto de la candidata del Frente a la alcaldía de Miguel Hidalgo, Margarita Martínez Fisher”, en tanto que las oficinas del Instituto del Adulto Mayor, “se mantuvieron abiertas sin razón”.
Según Cravioto como parte de “la guerra sucia” contra los candidatos de la coalición Morena-PT-PES, “en las primeras horas de la madrugada ciudadanos recibieron llamadas con un audio de Claudia Sheinbaum para promover el voto, con la clara intención de molestar a los ciudadanos “, en tanto que se estuvieron distribuyendo volantes en contra de la candidata a la alcaldía de Coyoacán, María Rojo, llamadas en contra del candidato presidencial Andrés Manuel López Obrador y algunos candidatos recibieron mensajes amenazantes e intimidatorios.
Suárez del Real abundó sobre el hecho violento denunciado por el presidente de la casilla 2567, de Iztapalapa, Israel Juárez, a quien “hombres armados le despojaron de 583 boletas electorales cuando acudía a instalar la casilla “.
Así mismo agregó que en la delegación Álvaro Obregón se movió la casilla 3186, debido a que se registró el fallecimiento de un hombre de 81 años, Guillermo Morales, cuando esperaba formado a emitir su voto.
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: