Нужно чтобы смена картинок была остановлена на последнем изображении. То есть новый цикл прокрутки не нужен.
В данном примере смена цикличная.
<html>
<head>
<title> Images view </title>
</head>
<body>
<script type="text/javascript">
var images = new Array();
var i = 0;
images[0] = './pipi/1.jpg';
images[1] = './pipi/2.jpg';
images[2] = './pipi/3.jpg';
function viewImages() {
document.getElementById("img_main").src = images[i];
i++;
if (i == images.length) {
i = 0;
}
setTimeout("viewImages()",500);
}
</script>
<img src="" id="img_main">
<script> viewImages(); </script>
</body>
</html>