Napisz instrukcję warunkową if. Jeśli użytkownik zobaczył już dany element to w bazie danych powinien być typ boolean i tam powinno być zapisane true lub false (zależnie od tego, czy widział element, czy nie). Jeśli chodzi oto, czy np. użytkownik zobaczy stronę x to wtedy nie musisz używać do tego żadych technologii po stronie klienta bez przeładowywania strony, a jeśli użytkownik ma zobaczyć prze'scroll'ować stronę do pewnego punktu, to już chyba frontend się kłania. Dobra wróćmy do konkretów. Jeśli już zapisze się Ci w bazie danych wartość na true, czyli użytkownik widział element, to nawet po zamknięciu strony i wyczyszczeniu danych w przeglądarce możesz odczytać te dane z bazy. Po odczytaniu danych wyświetlasz użytkownikowi, że te elementy już widział np. jakimś kolorem zielonym, czy coś. Dla przykładu mógłbyś zmienić styl elementu przeczytanego/nieprzeczytanego na:
/* pseudo-code */
el{
border:2px solid green;
}
/* where el is tag HTML/XHTML */
Gdybyś używał np. AJAX'a, to mógłbyś napisać to tak:
-- PSEUDO-CODE --
// ajax1.html
<script>
if (scroll_y==15% && something==something2)
then (func)sent_request_to_php(a=true and id=1);
end if;
</script>
// request.php
<?php
if(a==true){
update tbl set read_not_read=$_REQUEST['a'] where id=request_from_ajax($_REQUEST['id']);
}
if(read_not_read=='true'){
fill_color('green');
}else{
fill_color('pink');
}
?>