Легко же. Берешь PIXI.js, добавляешь две группы, в каждой нужна картинка, создаешь маску для картинки, где одна сторона будет волной (это синус от точки на горизонтали). Далее добавляешь к нему некое изменяющееся значение, пихаешь в ticker или в requestAnimationFrame, зацикливаешь и получаешь крутой аниммированный бэкграунд. И тот див тоже можешь двигать, ведь нужную точку ты будешь знать (выбери подходящую из тех что сгенерировал синусом), привяжи положение дива к этой точке, и получится вообще крутяк!