Сейчас: 11:36:29   26-го апреля 2024 г.
UsefulScript.ruСкриптыГрафикаПоявление элементов по очереди
77
196

Последовательное появление элементов

Данный скрипт будет полезен, например, сайтам с большим количеством изображений, т.к. позволяет реализовать последовательное появление элементов на страничке. Таким образом, при загрузке странички, посетитель увидит последовательное проявление изображений.


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



В предлагаемом нами скрипте можно настраивать время между появлением элементов и скорость проявления данных элементов. Давайте рассмотрим скрипт последовательного появления изображений.


Для этого первым делом стоит добавить изображения на свой сайт и сделать их невидимыми. Для этого разместите данный стиль изображений межу тегами <head></head>:

HTML код:
<style type="text/css">
 
img.fade displaynone; }
</
style>

Изображения следует добавить класс fade следующим образом:

HTML код:
<img class="fade" src="image/img_1.png" alt="">
<
img class="fade" src="image/img_2.png" alt="">
<
img class="fade" src="image/img_3.png" alt="">
<
img class="fade" src="image/img_4.png" alt="">

Для того чтобы скрипт последовательного появления элементов заработал на Вашем сайте, Вам потребуется подключить библиотеку jQuery. Лучше это делать в конце странички:

JavaScript код:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
</script>

После того, как библиотека jQuery была подключена, добавьте следующий JavaScript код, в котором можно задать задержку между появляющимися элементами (в нашем случае изображениями) и скорость их появления:

JavaScript код:
<script type="text/javascript">
$(
document).ready(function(){
 $.
fn.fade_img = function (ops) {
  var 
$elem this;
  var 
res = $.extend({ delay600speed600 }, ops);
  for (var 
i=0pause=0l=$elem.lengthi<li++, pause+=res.delay) {
   
$elem.eq(i).delay(pause).fadeIn(res.speed);
  }
  return 
$elem;
 };
 $(
'img.fade').fade_img();
});
</script>

В нашем случае появление изображений начнется только после полной загрузки странички. Как видите, скрипт довольно небольшой, но в то же время может быть полезен для сайтов с большим количеством изображений или каких-нибудь других элементов, которые следует выводить на экран по очереди.

Дата создания: 15:53:46 31.10.2012 г.
Дата обновления: 18:18:09 05.11.2012 г.
Посещений: 22451 раз(а).

Комментарии посетителей (21 шт.):
Алекс
1
# 1924
(16:46:38  29.09.2014 г.)

Возможно этот скрипт применить к DIV элементу?
Ответить

Administrator
0
# 1925
(17:04:40  29.09.2014 г.)

Да, конечно возможно.
Замените в стиле и в JavaScript коде "img.fade" на "div.fade" или просто ".fade", а блокам div присвойте класс "fade": <div class="fade"><img src="image/img_1.png" alt=""></div>
Ответить

Алекс
0
# 1926
(18:36:45  29.09.2014 г.)

Спасибо большое!
А возможно добавить прелоадер в виде gif картинки?
Ответить

Administrator
0
# 1927
(18:46:21  29.09.2014 г.)

Что-то похожее на это - Индикатор загрузки, только добавить к изображениям?
Ответить

Алекс
0
# 1928
(18:50:46  29.09.2014 г.)

Да, чтобы он крутился когда подгружаются фотки.
Ответить

Administrator
0
# 1929
(19:30:41  29.09.2014 г.)

Добавляете в нужное место индикатор загрузки: <img class="indicator" src="indicator.gif" alt="">
Перед строчкой: return $elem;
Добавьте: $(".indicator").delay(pause-res.delay).fadeOut(600);
Ответить

Максим
0
# 1932
(22:14:26  29.09.2014 г.)

Как подружить с Jquery версии выше 1.3
Ответить

Administrator
0
# 1933
(23:00:05  29.09.2014 г.)

Не понял вопроса... Скрипт прекрасно работает на версии 1.11.1 (и на нескольких предыдущих тоже).
Ответить

Максим
0
# 1934
(23:45:59  29.09.2014 г.)

У меня стоит jquery.easing.1.3.js jn Fancy gallery и они не хотят вместе работать. Может другую галерею поставить. Вот с этим файлом конфликт jquery-1.3.2.min.js.
Ответить

Денис
0
# 1947
(23:04:08  06.10.2014 г.)

Только на изображение работает или другие элементы так же?
Ответить

Administrator
0
# 1949
(23:38:00  06.10.2014 г.)

На других элементах тоже работает. Только не забудьте в стиле и в скрипте из img.fade убрать img.
Ответить

Андрей
0
# 1955
(00:40:42  11.10.2014 г.)

Подскажите, пожалуйста, как сделать, чтобы, например, появлялся первый элемент, плавно исчезал, после этого появлялся второй, плавно исчезал и так далее?
Ответить

Administrator
0
# 1956
(17:14:44  11.10.2014 г.)

Может Вам лучше подойдет другой наш скрипт плавной смены изображений на jQuery.
Ответить

Борис
0
# 2029
(22:43:20  12.11.2014 г.)

Уважаемый Administrator!
А как реализовать Последовательное исчезновение элементов?
Ответить

Administrator
1
# 2030
(22:57:30  12.11.2014 г.)

Удалите стиль img.fade { display: none; } и в JavaScript коде замените "fadeIn" на "fadeOut". При необходимости можно еще сделать, чтобы элементы исчезали с последнего.
Ответить

Борис
0
# 2031
(23:23:50  12.11.2014 г.)

Получилось! Огромное Спасибо! А как сделать, чтобы элементы исчезали с последнего?
Ответить

Administrator
0
# 2032
(23:59:06  12.11.2014 г.)

Замените строчку: for (var i=0, pause=0, l=$elem.length; i<l; i++, pause+=res.delay) {
на строчку: for (var i=$elem.length, pause=0; i>=0; i--, pause+=res.delay) {
Ответить

Петр
1
# 2094
(10:52:17  03.12.2014 г.)

Здравствуйте. Все идеально работает, но как сделать, чтобы появление начиналось тогда, когда прокручиваешь страницу вниз, где непосредственно они находятся. А так, пока прокрутишь вниз страницу - эффекта уже не видно - картинки как картинки. Помогите, пожалуйста. Спасибо.
Ответить

Administrator
0
# 2096
(21:35:15  04.12.2014 г.)

Код немного доработал и выложил на форуме.
Ответить

Дмитрий
1
# 3432
(14:20:07  22.09.2016 г.)

А можно как то сделать что бы, скрипт "Забывал что он выполнился" и выполнялся непрерывно?
Ответить

Administrator
0
# 3436
(20:58:30  22.09.2016 г.)

Если я Вас правильно понял, то Вам лучше воспользоваться скриптом Последовательного вывода изображений на jQuery с добавлением изменений из комментария # 1437 к той же теме.
Ответить

Закрыть
Ваше имя:
941 + 16 =
Добавить комментарий:
Ваше имя:
941 + 16 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 7

Какие темы необходимо добавлять на сайт?