// ==UserScript==
// @name porlaputeitor
// @author ameboide
// @version 2011-01-23
// @namespace http://userscripts.org/scripts/show/95163
// @description agranda las imagenes al pasar por encima, deja avanzar por posts con el teclado, y carga la pagina siguiente con ajax
// @include http://porlaputa.com/*
// ==/UserScript==
//saco el tuiters
var tuit = document.getElementById('twitter');
tuit.parentNode.removeChild(tuit);
//al mouseoverear las imgs con link a la img original, muestro la version grande
function mouseoverizar(elem){
if(!elem) elem = document;
var imgs = elem.querySelectorAll('.post.photo>a>img');
for(var i=0;i<imgs.length;i++){
var a = imgs[i].parentNode;
var img = document.createElement('img');
img.src = a.href;
img.style.display = 'none';
img.style.position = 'absolute';
a.appendChild(img);
imgs[i].addEventListener('mouseover', imgGrande, true);
img.addEventListener('mouseout', imgChica, true);
}
}
var agrandada = null;
function imgGrande(evt){
var a = evt.target.parentNode;
if(!a.childNodes[1].width) return;
a.parentNode.style.height = (a.parentNode.offsetHeight-30)+'px';
a.childNodes[0].style.display = 'none';
a.childNodes[1].style.display = '';
agrandada = a;
}
function imgChica(evt){
var a = evt ? evt.target.parentNode : agrandada;
if(!a) return;
a.childNodes[0].style.display = '';
a.childNodes[1].style.display = 'none';
agrandada = null;
}
mouseoverizar();
//navegar los posts con las flechas izq/der
window.addEventListener('keydown', function(evt){
var kc = evt.keyCode;
if(kc==37) scrollear(-1); //izq: patras
else if(kc==39) scrollear(1); //der: paelante
else if(kc==190) cargarSgte(); //.: cargar otra pag
else return;
evt.stopPropagation();
evt.preventDefault();
}, true);
var postActual = 0;
function scrollear(dp){
var posts = document.querySelectorAll('.post');
postActual+=dp;
if(postActual<0 || postActual>=posts.length) postActual-=dp;
else{
imgChica();
scroll(0, posts[postActual].offsetTop);
}
}
//cargar la sgte pag cuando scrolleo cerca del final
var divcont = document.getElementById('content');
window.addEventListener('scroll', function(evt){
var top = document.documentElement.scrollTop;
if(!top) top = document.body.scrollTop;
if(top && divcont.offsetTop+divcont.offsetHeight < top+4223) cargarSgte(true);
}, true);
var pagActual = document.location.href.match(/porlaputa.com\/page\/(\d+)/);
if(!pagActual) pagActual = 1;
else pagActual = Number(pagActual[1]);
var cargando = false;
function cargarSgte(esperar){
if(cargando) return;
cargando = true;
pagActual++;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function(){
if (xhr.readyState == 4){
if(xhr.status == 200){
var div = document.createElement('div');
div.innerHTML = xhr.responseText;
div.innerHTML = div.querySelector('#content').innerHTML;
divcont.appendChild(div);
mouseoverizar(div);
//si se autollamo por scrolleo, espero un rato antes de reactivarlo pa q no se llame de nuevo mientras no se ha cargado nada
if(esperar) setTimeout(function(){cargando = false;}, 2000);
else cargando = false;
}
else{ //wtf?
cargando = false;
pagActual--;
}
}
};
xhr.open('GET', '/page/'+pagActual, true);
xhr.send(null);
}
Mozilla add on,User script,Grease Monkey Script, greasemonkey userscripts, updater userscripts mafia wars userscripts mafia wars autoplayer userscripts mafia wars wall userscripts scripts userscripts travian greasemonkey greasemonkey download greasemonkey facebook greasemonkey tutorial greasemonkey youtube greasemonkey travian greasemonkey chrome greasemonkey mafia wars greasemonkey mafia wars autoplayer
Saturday, January 22, 2011
agranda las imagenes al pasar por encima, deja avanzar por posts con el teclado, y carga la pagina siguiente con ajax
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment