Не могли бы вы определить отдельный div, который использует абсолютную позицию, а затем при наведении курсора на Violet или Ice White нарисуйте всплывающее изображение внутри созданного вами div?
Так что-то вроде:
var displayDiv = document.getElementById("displayDivID");
// draw popup image in the div
displayDiv.innerHTML = "<div id=\"violet\">...</div>";
displayDiv.style.display = "block"; // to show it
Таким образом, всякий раз, когда вам нужно отобразить изображение в одной и той же позиции, оно всегда рисуется внутри указанного вами div.
Я бы предположил, что у вас есть класс, который контролирует форматирование этого div, например, позиции играницы и т. д.
РЕДАКТИРОВАТЬ
Я взял ваш код с вашего сайта и добавил еще немного кода.
Сохраните этот код в виде HTML-страницы на своем компьютере и попробуйте.
Найдите последний фрагмент кода CSS прямо перед закрывающим тегом.Этот блок CSS контролирует внешний вид div и размещает его в середине страницы.CSS только устанавливает фиксированную позицию.В качестве альтернативы вы можете использовать javascript для динамического вычисления ширины и высоты окна браузера пользователя, а затем соответствующим образом отобразить код CSS, чтобы div всегда находился в середине браузера независимо от размера внутреннего изображения.
InВаш предыдущий фрагмент кода javascript для displayDiv, я исправил несколько вещей и добавил две функции, когда мышь находится над миниатюрой, а когда нет.При наведении курсора мыши URL-адрес изображения будет передан функции, которая будет использоваться для визуализации изображения в displayDiv.
Надеюсь, что это поможет.
EDIT 2 - Fade In and Out
Вы, конечно, можете.
Все, что вам нужно сделать, это изменить две функции на использование jQuery fadeIn () и fadeOut () следующим образом:
function changeDisplay(bgImageURL)
{
var displayDiv = document.getElementById("displayDiv");
// draw popup image in the div
displayDiv.innerHTML =
'<a class="popup1" href="#v"><img src="' + bgImageURL+ '" alt="" /></a>';
// show the display in case it was hidden before
$('#displayDiv').fadeIn();
}
function hideDisplay()
{
// hide it when the mouse rolls off the thumbnail
$('#displayDiv').fadeOut();
}
Этот jQuery являетсяосновной.Проблема будет в том, что если вы быстро включите и выключите указатель мыши, это приведет к включению и выключению div, включению и выключению, включению и выключению даже если ваша мышь уже выключена.
Правильным способом было бы переделать код и использовать mouseEnter и mouseLeave для элементов thubmnail.