Amélioration du marquage au défilement

Ne marque plus que lorsqu'on s'est déplacé de plus de 50px (évite de
checker à chaque fois)
De plus, lorsque les articles sont repliés, le marquage ne marche plus
(évite donc de marquer des articles non lus)
This commit is contained in:
Marien Fressinaud
2013-06-23 20:25:21 +02:00
parent c0700b80fd
commit 9758d1d736
2 changed files with 11 additions and 1 deletions

View File

@@ -152,6 +152,7 @@ function inMarkViewport(flux) {
return (windowBot >= begin && windowBot <= bot);
}
var lastScroll = 0;
function init_posts () {
init_img ();
<?php if($this->conf->lazyload() == 'yes') { ?>
@@ -196,8 +197,16 @@ function init_posts () {
<?php if ($mark['scroll'] == 'yes') { ?>
var flux = $('.flux');
$(window).scroll(function() {
var windowTop = $(this).scrollTop();
if(Math.abs(windowTop - lastScroll) <= 50) {
return;
}
lastScroll = windowTop;
flux.each(function() {
if($(this).hasClass('not_read') && inMarkViewport($(this))) {
if($(this).hasClass('not_read') &&
$(this).children(".flux_content").is(':visible') &&
inMarkViewport($(this))) {
mark_read($(this), true);
}
});

View File

@@ -337,6 +337,7 @@
}
.content {
min-height: 300px;
max-width: 550px;
margin: 0 auto;
padding: 20px 10px;