|
|
@@ -244,20 +244,19 @@ function toggleContent(new_active, old_active) {
|
|
|
new_active.toggleClass('active');
|
|
|
}
|
|
|
|
|
|
- var box_to_move = "html,body",
|
|
|
- relative_move = false;
|
|
|
- if (context['current_view'] == 'global') {
|
|
|
- box_to_move = "#panel";
|
|
|
- relative_move = true;
|
|
|
- }
|
|
|
+ var relative_move = context['current_view'] === 'global',
|
|
|
+ box_to_move = $(relative_move ? "#panel" : "html,body");
|
|
|
|
|
|
if (context['sticky_post']) {
|
|
|
var prev_article = new_active.prevAll('.flux'),
|
|
|
- new_pos = new_active.position().top,
|
|
|
- old_scroll = $(box_to_move).scrollTop();
|
|
|
+ new_pos = new_active.offset().top,
|
|
|
+ old_scroll = box_to_move.scrollTop();
|
|
|
|
|
|
- if (prev_article.length > 0 && new_pos - prev_article.position().top <= 150) {
|
|
|
- new_pos = prev_article.position().top;
|
|
|
+ if (prev_article.length > 0 && new_pos - prev_article.offset().top <= 150) {
|
|
|
+ new_pos = prev_article.offset().top;
|
|
|
+ if (relative_move) {
|
|
|
+ new_pos -= box_to_move.offset().top;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (context['hide_posts']) {
|
|
|
@@ -267,7 +266,7 @@ function toggleContent(new_active, old_active) {
|
|
|
|
|
|
if (old_active[0] !== new_active[0]) {
|
|
|
new_active.children(".flux_content").first().each(function () {
|
|
|
- $(box_to_move).scrollTop(new_pos).scrollTop();
|
|
|
+ box_to_move.scrollTop(new_pos).scrollTop();
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
|
@@ -275,7 +274,7 @@ function toggleContent(new_active, old_active) {
|
|
|
new_pos += old_scroll;
|
|
|
}
|
|
|
|
|
|
- $(box_to_move).scrollTop(new_pos).scrollTop();
|
|
|
+ box_to_move.scrollTop(new_pos).scrollTop();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -451,11 +450,8 @@ function auto_share(key) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function inMarkViewport(flux, box_to_follow, relative_follow) {
|
|
|
- var top = flux.position().top;
|
|
|
- if (relative_follow) {
|
|
|
- top += box_to_follow.scrollTop();
|
|
|
- }
|
|
|
+function inMarkViewport(flux, box_to_follow) {
|
|
|
+ var top = flux.offset().top;
|
|
|
var height = flux.height(),
|
|
|
begin = top + 3 * height / 4,
|
|
|
bot = Math.min(begin + 75, top + height),
|
|
|
@@ -466,17 +462,15 @@ function inMarkViewport(flux, box_to_follow, relative_follow) {
|
|
|
}
|
|
|
|
|
|
function init_posts() {
|
|
|
- var box_to_follow = $(window),
|
|
|
- relative_follow = false;
|
|
|
- if (context['current_view'] == 'global') {
|
|
|
+ var box_to_follow = $(window);
|
|
|
+ if (context['current_view'] === 'global') {
|
|
|
box_to_follow = $("#panel");
|
|
|
- relative_follow = true;
|
|
|
}
|
|
|
|
|
|
if (context['auto_mark_scroll']) {
|
|
|
box_to_follow.scroll(function () {
|
|
|
$('.not_read:visible').each(function () {
|
|
|
- if ($(this).children(".flux_content").is(':visible') && inMarkViewport($(this), box_to_follow, relative_follow)) {
|
|
|
+ if ($(this).children(".flux_content").is(':visible') && inMarkViewport($(this), box_to_follow)) {
|
|
|
mark_read($(this), true);
|
|
|
}
|
|
|
});
|
|
|
@@ -490,10 +484,7 @@ function init_posts() {
|
|
|
return;
|
|
|
}
|
|
|
var boxBot = box_to_follow.scrollTop() + box_to_follow.height(),
|
|
|
- load_more_top = load_more.position().top;
|
|
|
- if (relative_follow) {
|
|
|
- load_more_top += box_to_follow.scrollTop();
|
|
|
- }
|
|
|
+ load_more_top = load_more.offset().top;
|
|
|
if (boxBot >= load_more_top) {
|
|
|
load_more_posts();
|
|
|
}
|
|
|
@@ -765,7 +756,7 @@ function init_nav_entries() {
|
|
|
$nav_entries.find('.up').click(function () {
|
|
|
var active_item = $(".flux.current"),
|
|
|
windowTop = $(window).scrollTop(),
|
|
|
- item_top = active_item.position().top;
|
|
|
+ item_top = active_item.offset().top;
|
|
|
|
|
|
if (windowTop > item_top) {
|
|
|
$("html,body").scrollTop(item_top);
|