Personally, because of the quirks and complexities and shear volume of javascript material and the amount that practice has changed while the web has not (e.g. jquery was the way, now react or maybe react native), I'd not recommend Javascript as a way for a person to step into learning to program.
In particular, for someone who knows some HTML and CSS but is struggling with Javascript, it seems that Javascript is not the right fit.
Not Javascript:
A more academic CS approach in a MOOC:
https://www.edx.org/course/how-code-systematic-program-desig...
The related book: http://www.ccs.neu.edu/home/matthias/HtDP2e/
A programmed learning approach: https://learnpythonthehardway.org/
Something a bit more opinionated that involves Emacs:
https://aphyr.com/posts/301-clojure-from-the-ground-up-welco...
From the realm of the wierd: http://poignant.guide/
A good book that sort of changed the way programming books are written (other Head First Books are also good): http://www.headfirstlabs.com/books/hfjava/