Random - случайное отображение контента

Вторник, 29 Июнь 2010

Работая над одним из проэктов, потребовалось реализовать отображение отзывов клиентов случайным образом, то-есть рандомно (Random). Не найдя в сети ничего стоящего и компактного, решился на написание специального плагина random.js, который содержит класс Random.

 

Данный класс позволяет реализовать следующее:

 

 

Для того что бы было понятней о чем идет речь, посмотрите Demo random.js

 

Как видно из примера случайным образом (random) выводится содержимое из двух контейнеров, причем эти контейнеры имеют разлиные типы. С лева это немаркированный список UL, а с права это контейнер DIV со вложенными в него дочерними контейнерами DIV, содержащими в себе текст.

 

Содержимое и структура HTML может быть различная но нужно придерживатся следующего правила :

 

В общем (основном) родительском контейнере, для перебора в случаном порядке, использовать контейнеры принадлежащие к одному и тому же типу (NodeType).

 

К примеру:

 

  •  
  • <ul id="exemple-0">
  • <li></li>
  • <li></li>
  • <li></li>
  • </ul>
  •  

 

Или так:

 

  •  
  • <div id="example-1">
  • <div></div>
  • <div></div>
  • <div></div>
  • </div>
  •  

 

Далее о том как подключить плагин random.js На web страницу, и применить его функцию случайного перебора (random) для конкретного блока с содержимым.

 

Делается это в три этапа

 

 

Пример:

 

  •  
  • <script type="text/javascript" src="mootools-1.2.4-core-yc.js"></script>
  • <script type="text/javascript" src="random.js"></script>
  • <script type="text/javascript">
  • window.addEvent('domready', function(){
  • new Random({
  • container : $('example-0'),
  • typeNode : 'li',
  • speed : 5000,
  • duration : 700
  • });
  • });
  • </script>
  •  

 

Ну и сам HTML код:

 

  •  
  • <ul id="exemple-0">
  • <li></li>
  • <li></li>
  • <li></li>
  • </ul>
  •  

 

Осталось сказать о создании экземпляра класса Random и передачи ему параметров (настроек). Ну во первых, экземпляров классов вы можите создать сколько угодно и для каждого указать индивидуальные значения параметров.

 

Ну например это вы можите увидеть здесь Demo random.js

 

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

 

И так параметры по порядку:

 

 

Demo

Download


PS. И не забудьте подписаться на ленту новостей RSS

Метки:

Комментарии 

 
anonim Среда, 30 Июнь 2010

О боже! Теперь и для random() будут писать оболочку в виде классов, используя супер-навороченные библиотеки и фреймворки (о боже! для JS!).
(А simplecoding ещё будет пиарить это.) Аааа!

 

 
 
anonim Среда, 30 Июнь 2010

Конешно будут! На то она и дана нам библиотека, что бы писать под нее, темболее если она используется в проекте!

 

 
 
anonim Четверг, 15 Июль 2010

Гениальная вещь. Единственное человек далекий от програмирования не очень понимает что на что поменять чтобы рандомно работала галлерея картинок к примеру.

 

 
 
anonim Суббота, 17 Июль 2010

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


<ul>
<li><img src="/" ></li>
</ul>

 

 
 
anonim Пятница, 18 Февраль 2011

Conseils tres interessants. A quand la suite?

 

 
 
anonim Понедельник, 09 Май 2011

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

 

 
 
anonim Вторник, 10 Май 2011

Не работает вместе с этим кодом http://jquery.com/demo/thickbox/#examples

что делать? помогите. могу заплатить 5wmz

 

 
 
anonim Пятница, 13 Май 2011

Albert>>> Для картинок находящихся в неактивном контейнере(кото рый скрыт, напр li) поставьте в CSS свойство display:none; а для активного контейнера display:block;

Можете выслать на support@clevers cript.ru, я посмотрю, так сказать трудно что за проблема, возможно. Но подозреваю что вы не используете jQuery в режиме совместимости с Mootools.

 

 
 
Sinoptik Суббота, 14 Январь 2012

Супер! :) Но, если у пользователя отключен JS, то блоки будут выведены все.
Как этого избежать?

 

 

Добавить комментарий