VGross2016, Как я уже сказал, здесь могут быть внешние факторы: например, я могу к этой странице подключить некий CSS файл и сделать так, что оно не будет работать. То же самое и с JS файлом - тоже можно всё испортить. А так, это просто пример в вакууме, там реально нечем и нечему ломаться.
Кроме этой ошибки document.box.style.backgroundColor = 'blue'; вместо box.style.backgroundColor = 'blue';, хотя в изначальном вопросе написано правильно.
Ещё, кстати, не стоит забывать про кеш браузера - тоже может создать проблем.
VGross2016, Тогда надо смотреть в инспекторе, возможно стиль устанавливается(он должен), но по приоритету есть правило с !important, которое главенствует и не даёт применить стиль.
Видимо, нужно исполнить код app.js после загрузки страницы ещё раз. Или устанавливать startIndex переменную в коллбеке .ajax success и звать некую функцию из app.js, которая зависит от startIndex.
По вводной информации не ясно, какая часть страницы перезагружается, перезагружаются ли скрипты или они грузятся и исполняются только при первом обращении к странице.
Замечанием должно быть, что автор избегает поиска в контексте. А так то getElementsByClassName мало того, что быстрее, так имеет ещё одно преимущество.
function click() { //а здесь скобки где?