Do you want to know if an element can ever scroll or can currently scroll?
Can an element ever scroll?
An element can scroll if it has a fixed height (or max-height) and overflow-y is scroll or auto. But since it’s not easy to tell if an element’s height is fixed or not, it’s probably sufficient to just check overflow-y:
e.css('overflow-y') == 'scroll' || e.css('overflow-y') == 'auto'
Can an element scroll right now?
An element can scroll right now if its scrollHeight is greater than its clientHeight and if it has a scrollbar, which can be determined by comparing clientWidth and offsetWidth (taking margins and borders into account) or checking if overflow-y is scroll or auto.