2011-04-15 2 views
0

Я использую функцию jquery.replaceWith(), она работает нормально, но когда я использовал ее на изображении, она создает флеш. То, что я имею в виду, это замена изображения-a на изображение-b, но пока изображение-a удалено, а изображение-b загружено, нет НИЧЕГО, поэтому поле имеет высоту 0px и делает все изменения закладки в течение 1 секунды и flash все ...jQuery replaceWith function flash

Что я должен был использовать, или как сделать replaceWith() поместить изображение только после его загрузки, поэтому его замена будет мгновенной.

вы можете взглянуть на NextGen галереи изображений браузера интермедия проблемы здесь http://mecanomedic.com/cms/

+0

вы просто меняете 'src' изображения? – drudge

+0

Вы всегда меняете одно изображение с одним изображением на замену? – Khez

+0

Я меняю МНОГО, предыдущая кнопка ref, следующая кнопка ref, лайтбокс clik ref и т. Д. И т. Д. – menardmam

ответ

1

Поскольку размеры изображений всегда одинаков, вы можете указать размеры на <img> тэге:

<img class="slideshow" src="/path/to/my/image001.jpg" width="267" height="200"> 

Или с помощью CSS:

.slideshow { 
    height: 267px; 
    width: 267px; 
} 

Это должно предотвратить элемент от изменяющихся размеров в то время как новое изображение загружается.

Кроме того, вы можете просто изменить src в <img> тега, а не заменять всю запись DOM:

$(currentimage).attr('src','/path/to/my/image002.jpg');