Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: для новичков > Смена изображений фона - нет повтора (jquery) |
Автор: dreamReckless 26.12.2012, 16:59 | ||
Доброго времени суток и конечно же всех с Новым Наступающим Годом!! Подскажите пожалуйста, уже устал мучатся, столкнулся про следующей проблемой - есть скрипт, но после показа всех изображений (фон странички), он останавливается. Как этого избежать?
|
Автор: Arantir 26.12.2012, 17:21 | ||
dreamReckless, да все очень-очень просто. Как вы думаете, после загрузки всех изображений будет ли вызываться $("img#bg").load()? Скажу иначе. Если у вас одна картинка в 10 разных местах, то браузер ее загружает один раз или 10? В jquery есть метод, который позволяет проверить, загружено ли изображение - $('#img_id').prop('complete'). Возвращает соответственно true/false. Сделайте вот так:
|
Автор: dreamReckless 26.12.2012, 17:27 |
Arantir, спасибо большое! пробую.. Добавлено через 13 минут и 38 секунд Arantir, странно но изображение не всегда меняется.. то рывками, то вот как сейчас - снова остановилось... то меняются только две картинки (фона).. |
Автор: Arantir 26.12.2012, 17:56 |
dreamReckless,у диапазона 0..3 довольно плохое распределение =) То есть рандом тут не даст "красивой" последовательности. Попробуйте побольше картинок - станет лучше. |
Автор: dreamReckless 26.12.2012, 18:13 |
Arantir, можно ли сделать, чтобы шли просто по кругу... ? В общем спасибо тебе за то, что помог. Все работает. Только не совсем понятно, что означает "$("img#bg").fadeTo(2000,1);" - это вроде, мол картинка изменится в течении 2-секунд? "$("#image_description").animate({right: '-=150'}, 1000); - это сам процесс анимации? $("img#bg").fadeOut(2000);" и "setTimeout(LoadImages,1000);" - это, таймаут, через который снова ф-ция снова "заработает". В чем я ошибаюсь? |
Автор: dreamReckless 27.12.2012, 08:53 |
Arantir, спасибо больше! |
Автор: Aliance 27.12.2012, 10:32 | ||||
Вот это не есть гуд:
Вот так гуд:
Ну и я бы рекомендовал кешировать вызовы одинакового элемента. |