con el codigo inicial no tenias que hacer muchos cambios. era cuestion de definir un nuevo array y agregar una linea a la funcion. pues la funcion ya tenia lo necesario para rotar las imagenes. usando el ejemplo de @SergeMedina,
Código:
<script type="text/javascript">
var bannerImg = new Array();
bannerImg[0]="4.gif";
bannerImg[1]="1.gif";
bannerImg[2]="2.gif";
bannerImg[3]="3.gif";
link = new Array();
link[0] = 'http://www.google.com'
link[1] = 'http://www.yahoo.com'
link[2] = 'http://www.altavista.com'
var newBanner = 0;
var totalBan = bannerImg.length;
function cycleBan() {
newBanner++;
if (newBanner == totalBan) {
newBanner = 0;
}
document.banner.src=bannerImg[newBanner];
document.getElementById('miLink').href=link[newBanner];
// set the time below for length of image display
// i.e., "4*1000" is 4 seconds
setTimeout("cycleBan()", 3*1000);
}
window.onload=cycleBan;
</script>
<img src="4.gif" name="banner" />
<a href="" id="miLink">Llevame a algún lugar</a>
admito que no lo he comprobado pero teoricamente debe funcionar.