Весь форум излазил уже, что только не делал, не могу допетрить и всё. Суть: в таблице 10 картинок при наведении на одну из них, она должна заменяться на другую, но не в коем случае не повторяться.
Картинки берутся из папки.
Проблема: при неоднократном наведении пропадают картинки и иногда появляются 2-3 одинаковых.
Вот скрипт:
var arrDocImg = 1; //сколько картинок в документе
var arrNum = 10; //указываешь кол-во картинок
var imgLoc = 'img/';
var imgType = '.jpg';
var docImages = new Array;
for (i=1; i<=arrDocImg; i++) {
docImages[i] = i;
}
var images = new Array;
for (i=1; i<=arrNum; i++) {
images[i] = new Image();
images[i].src = imgLoc + i + imgType;
}
function getrandom(a) {
var min_random = 1;
var max_random = a;
max_random++;
var range = max_random - min_random;
var n=Math.floor(Math.random()*range) + min_random;
return n;
}
function getuniquerandom(iNum) {
var nextImg = getrandom(iNum);
for (j=1; j<=arrDocImg; j++) {
if ( nextImg == docImages[j]) {
if ( (nextImg + 1 <= arrNum) ) {
iNum = nextImg + 1;
} else {
if ( (nextImg - 1 >= 1) ) {
iNum = nextImg - 1;
}
}
nextImg = getuniquerandom(iNum);
}
}
return nextImg;
}
function swapPicGrin(toSwap, swapId) {
var imgFlag = true;
var iNum = images.length - 1;
var imgToSwap = document.getElementById(toSwap);
var nextImgNow = getuniquerandom(iNum);
docImages[swapId] = nextImgNow;
imgToSwap.src = images[nextImgNow].src;
}
А вот то что я вставляю в тело html страницы
<img src="img/1.jpg" id="randimg1" class="swappedImg" onMouseOver="swapPicGrin('randimg1',1);" />
...
...
...
<img src="img/10.jpg" id="randimg10" class="swappedImg" onMouseOver="swapPicGrin('randimg10',10);" />