refactoring readerrolling

and fix losing progress when switching screen modes