Во-первых, я заметил, что вы меняете переменную img
после присвоения изображения элементу.Я думаю, что вы должны поменять порядок.Теперь, когда вы нажимаете Далее , номер увеличивается, но картинка ассоциируется с предыдущим номером.Если затем вы нажмете Предыдущий , число уменьшится, но изображение будет отображаться вперед.
Я внес некоторые другие изменения для простоты:
HTML:
<h1 align="center">Change Image</h1>
<br>
<div class= "container" align="center">
<button onclick="change(event)" name='1'>Previous</button>
<img src="html5.png" style="width: 500px" id="changeimg">
<button onclick="change(event)" name='2'>Next</button>
</div>
JS:
var currentImg = 0;
const imgArr = ["html5.png","css3.png","javascript.png"]
const change=(event)=>{
if(event.target.name==='1'){
currentImg>0?currentImg--:currentImg=2;
} else if(event.target.name==='2'){
currentImg<imgArr.length-1?currentImg++:currentImg=0;
}
console.log(currentImg);
document.getElementById('changeimg').src = imgArr[currentImg];
}
Обратите внимание на использование атрибута 'name' для использования в логике функции изменения.Это позволяет мне использовать только одну функцию для обеих кнопок.Надеюсь, это поможет.