lainchan/js/threadscroll.js

47 lines
2.4 KiB
JavaScript
Raw Normal View History

2014-09-23 19:50:32 -04:00
var hoverElem = null;
$(document).mouseover(function(e){
var x = e.clientX, y = e.clientY,
elementOnMouseOver = document.elementFromPoint(x, y);
hoverElem = $(elementOnMouseOver);
});
$(document).keydown(function(e){
console.log(e);
if(e.which == 38){
var ele = hoverElem;
if(ele.parent().attr("class") == "post op" || ele.attr("class") == "body" || ele.attr("class") == "post-image" || ele.parent().attr("class") == "body" || ele.parent().attr("class") == "body" || (ele.parent().attr("id")!= null && ele.parent().attr("id").match("^thread") != null) || (ele.parent().attr("for")!= null && ele.parent().attr("id").match("delete") != null)){
var thread = (ele.parent().attr("class") == "post op") ? ele.parent().parent() : ele.parent();
thread = (thread.attr("class") == "post reply") ? thread.parent() : thread;
thread = (thread.attr("class") == "body") ? thread.parent().parent() : thread;
thread = (ele.attr("class") == "post-image") ? thread.parent().parent().parent().parent() : thread;
if(thread.attr("id") == null) thread = ele.parent().parent().parent().parent(); //op image
if(thread.prev().attr("id") != null){
if(thread.prev().attr("id").match("^thread")){
window.location.href = window.location.protocol+"//"+window.location.host+window.location.pathname+"#"+thread.prev().attr("id");
}
}
}
}else if(e.which == 40){
var ele = hoverElem;
if(ele.parent().attr("class") == "post op" || ele.attr("class") == "body" || ele.attr("class") == "post-image" || ele.parent().attr("class") == "body" || ele.parent().attr("class") == "body" || (ele.parent().attr("id")!= null && ele.parent().attr("id").match("^thread") != null) || (ele.parent().attr("for")!= null && ele.parent().attr("id").match("delete") != null)){
var thread = (ele.parent().attr("class") == "post op") ? ele.parent().parent() : ele.parent();
thread = (thread.attr("class") == "post reply") ? thread.parent() : thread;
thread = (thread.attr("class") == "body") ? thread.parent().parent() : thread;
thread = (ele.attr("class") == "post-image") ? thread.parent().parent().parent().parent() : thread;
if(thread.attr("id") == null) thread = ele.parent().parent().parent().parent(); //op image
if(thread.next().attr("id") != null){
if(thread.next().attr("id").match("^thread")){
window.location.href = window.location.protocol+"//"+window.location.host+window.location.pathname+"#"+thread.next().attr("id");
}
}
}
}
});