W sumie nie wiem po co wrzucam. Może komuś się przyda. Trochę nadgorliwie zacząłem robić bardziej skomplikowaną wersję, przez co musiałem skorzystać z kodu którego działanie nie w pełni rozumiem, choć się domyślam
https://jsfiddle.net/ww6tLb31/1/