From 9758d1d7366519ce17c052928a78bef76216f02a Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Sun, 23 Jun 2013 20:25:21 +0200 Subject: Amélioration du marquage au défilement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- app/views/javascript/main.phtml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'app/views/javascript') diff --git a/app/views/javascript/main.phtml b/app/views/javascript/main.phtml index da95f9c04..b3da278bc 100644 --- a/app/views/javascript/main.phtml +++ b/app/views/javascript/main.phtml @@ -152,6 +152,7 @@ function inMarkViewport(flux) { return (windowBot >= begin && windowBot <= bot); } +var lastScroll = 0; function init_posts () { init_img (); conf->lazyload() == 'yes') { ?> @@ -196,8 +197,16 @@ function init_posts () { 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); } }); -- cgit v1.2.3