1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-23 23:20:57 +01:00

Create threadscroll.js

This commit is contained in:
anonfagola 2014-09-23 16:50:32 -07:00 committed by czaks
parent ba49bc6c37
commit 2a823ae786

46
js/threadscroll.js Normal file
View File

@ -0,0 +1,46 @@
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");
}
}
}
}
});