本題
buttonタグにtype属性を明示していないときの既定値はsubmitになります。
submitはフォームの送信に使用するボタンのため、formの中にあるボタンを押すとフォームが送信され、ページが読み込み直されます。今はformの外にあるボタンでも、あとからフォームの中に移したときに、意図せず送信されてしまうことがあります。
ハンバーガーメニューやタブなどの汎用的なボタンにはtype="button"をつけて、送信されないようにしておきましょう。
<button type="button">Button</button>参考・引用
HTML <button> ボタン要素 - HTML | MDN(新しいタブで開く)