[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: jQuery смена картинок
Stasonix
Как лучше организовать смену картинок на странице? (допустим при выборе значения селектов подгружается картинка) Я сделал так:
  maincont.find('a.flink img')
.
fadeOut("slow",function(){
$(this).attr("src",way);
}).fadeIn("slow");

т.е. через эффект исчезание-появление, проблема в том, что src не успевает измениться, т.е. эффект fadeOut делает исчезновение элемента, затем происходит появление элемента, а затем уже изменяется сам src и картинка, т.е. эффект опережает событие смены картинки, это выглядет мягко говоря некрасиво, так вот вопрос в том как более приемлимо(гладко) это сделать?
p.s. пока писал вопро пришли в голову пару идей:
maincont.find('a.flink img')
.
fadeOut("slow",function(){
$(this).fadeIn("slow",function(){ $(this).attr("src",way) });
});


и

maincont.find('a.flink img')
.
fadeOut("slow",function(){
}
).fadeIn("slow",function(){ $(this).attr("src",way) });


но к сожалению ничего толкового из этого не вышло, все также грубо говоря тормозит смена картинок.



Спустя 1 час, 36 минут, 33 секунды (8.01.2012 - 10:00) Michael написал(а):
Тебе просто надо эти картинки предварительно загрузить, чтобы они были в буфере. Тогда не будет слайдшоу.
Заранее нужной графике прописываешь:
var im = new Image();
im.src = 'путь к картинке';

Спустя 18 часов, 21 минута, 20 секунд (9.01.2012 - 04:22) Stasonix написал(а):
Цитата (Michael @ 8.01.2012 - 07:00)
Тебе просто надо эти картинки предварительно загрузить, чтобы они были в буфере. Тогда не будет слайдшоу.
Заранее нужной графике прописываешь:
var im = new Image();
im.src = 'путь к картинке';

Да знаю я этот ход, но мне он не поможет, изображений более тысячи, а если кэшировать, то все сразу, по-другому никак, вы представляете сколько нужно будет времени тому же гИЕ чтобы сайт прогрузить? Хорошо в Lightbox сделано, знать бы еще как это работает, но мне там ни все ясно пока что.

Спустя 1 час, 17 минут, 35 секунд (9.01.2012 - 05:39) Ser18 написал(а):
Быстрей всего дело не в том что картинка не успевает подгрузиться
Сначала происходит исчезновение, а потом появление другой картинки, т.е. пока первая картинка не исчезнет, вторая не начинает появляться

Надо накладывать картинку на картинку т.е. на первой картинке появляется вторая, а потом убираете первую картинку

А по поводу большого количества картинок
Подгружайте не все сразу, а по одной(в паузе между сменой картинок)

Спустя 8 дней, 16 часов, 50 минут, 50 секунд (17.01.2012 - 22:30) Stasonix написал(а):
там не вариант их подгружать, это слайдер, в него входит допустим select с выборами вариантов, напр. на страницу выведен объект с какими-то параметрами, напр. у него может быть несколько цветов, я в этом селекте выбираю любой из цветов и фотка естественно изменяется, если при слайде как вы говорите что-либо подгружать, а это не много не мало может быть до 10-и и более картинок то слайдер будет тормозить не только в ИЕ, но и во всем остальном. п.с. личка.

Спустя 50 минут, 24 секунды (17.01.2012 - 23:20) asokol написал(а):
Функция, которая передается в fadeOut(), вызывается после выполнения действия.

Можно сделать два div-а, у которых position:absolute (друг над другом) и с разными z-index. Внутри них img, src выставлять до анимации.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.