Поскольку вы добавляете атрибут 'style' к своему элементу, все, что находится внутри этого атрибута 'style', будет переопределять любые ваши предопределенные настройки CSS (это имеет приоритет).
В этом случае "btn.style.backgroundPosition =" - 150px 0 ";" переопределяет ваш стиль наведения «-150px -100px», добавляя его непосредственно к элементу.
Я точно не знаю, для чего вы здесь, и, возможно, есть более простой способ сделать то, что вы делаете, - но я полагаю, что это не то, почему вы здесь ...
Поэтому, чтобы решить вашу проблему, я бы предложил одну из двух вещей:
1) Добавить / удалить класс, используя javascript вместо атрибута стиля
- ИЛИ , как быстрое решение-
2) добавьте «важное» в строку 343 таблицы стилей, например:
.tree:hover {
background-position: -150px -100px !important;
}