This is because a hidden class forces an element to always hide. I am sure it is doing something like:
display: none !important;
So, you need to change your code to remove this class after the element shift. Or use your own CSS to hide the element (so you don't have !important .
If you change your JSFiddle to have CSS:
#hidden-list-1 { display: none; }
And remove the hidden class, you will see that it works as expected.
source share