setInterval
не так то, что запрос может занять больше времени чем сам интервал, из-за чего следующий запрос выполнится раньше чем закончится предыдущий, что приведёт к эффекту нарастания снежного кома. .button
удалялись бы - такой ситуации не возникало бы. .button
всегда присутствуют на странице в другом месте.$('.button').off('click').click(...)
. Это конечно костыльно, но что поделать.
.innerHTML += ...;
- никогда так не делайте. Это перезапись всего, а не добавление нового.Если очень хочется допихивать именно html, a не dom - есть специальный метод:
.insertAdjacentHTML('beforeend', ...);