Я просто показал как можно это реализовать, вот посмотрите второй вариант совсем другим способом, здесь в css в селекторе #shadow можете настроить визуализацию, а также в коде есть несколько переменный для настройки плавности и т.п. https://jsfiddle.net/twobomb/uk9tgngq/
element.onscroll = function (e) {
elem=e.target
if (elem.scrollTop == 0)
//с помощью CSS делаем тень СВЕРХУ
else if (elem.scrollTop == elem.scrollTopMax)
//с помощью CSS делаем тень СНИЗУ
}
Ilya Korablev: сыровато, всё равно, конечно, но после небольшои оптимизации очень даже ничего =) особенно, если учесть, что не подключалось 10Кбаит лишнего кода в виде jQuery