Чат uSite
Загрузка чата..
Все новости
Новости uSite
19.05.2012
Открыли «Оповещения» (β).
29.04.2012
Сделан до конца вид материалов форума.
Пользователи онлайн
Загрузка списка...
Уникальные скрипты » Прочее » Шаблонизатор категорий + анимация
Для того, чтобы у вас работал скрипт, вам необходимо установить jQuery плагин:

Code
(function($) {
  $.cats = function(gcat, scat, opt){
  if(!gcat || !scat) return alert('Error #1');
   
  var settings = $.extend({
  loader: "Загрузка..",
  animate: 0,
  timeout: 0
  }, opt);
   
  var gid = $('<div/>', {id: 'catsM'}).insertAfter('.catsTable'); // Добавляем новый узел
   
  $('.catsTable').find('.catsTd').each(function(i, v){ // Ищем все категории
  var id = $('<div/>', {id: $(v).attr('id'), class: 'catsMc'}).appendTo(gid);
  id.append(gcat.replace(/\{TITLE\}/g, $(v).find('a').text())
  .replace(/\{COUNT\}/g, $(v).find('span').text().match(/\[(\w+)\]/)[1])
  .replace(/\{CATS\}/g, '<div id="catsM'+$(v).attr('id')+'" class="catsMids" style="display: none"></div>')
  .replace(/\{LINK\}/g, $(v).find('a').attr('href')
  )); // Генерация HTML
   
  }).parents('.catsTable').remove(); // Удаляем не нужные DOM элементы

  gid.find('a').click(function(){
  var r = $(this).parents('.catsMc').attr('id');
  var sid = $('#catsM'+r);
  var url = $(this).attr('href'); // Запоминаем url
   
  if(!sid.html()){
  $('<div/>', {id: 'catsMload'+r}).html(settings.loader).insertAfter(sid); // Устанавливаем loader
  setTimeout(function(){
  $.get(url, function(d){
  $('.catsTable', d).find('.catsTd').each(function(i, v){ // Ищем все категории
  sid.append(scat.replace(/\{TITLE\}/g, $(v).find('a').text())
  .replace(/\{COUNT\}/g, $(v).find('span').text().match(/\[(\w+)\]/)[1])
  .replace(/\{LINK\}/g, $(v).find('a').attr('href')));
  });
  delete d; // Очищаем память
  $('#catsMload'+r).remove(); // Удаляем loader из DOM
  });
  }, settings.timeout); // Таймаут
  }
  switch(settings.animate){ // Виды анимации
  case 1:
  $('.catsMids').slideUp();
  sid.slideDown();
  break;
  case 0:
  default:
  sid.fadeToggle();
  break;
  }
   
  return false;
  });
  };
})(jQuery);

На странице с категорией перед </body> вставляем:

Code

<script>
$.cats('$1', '$2', {PARAMS});
</script>

где:
$1 - html код для раздела категории, доступные переменные:
  • {TITLE} - название раздела
  • {COUNT} - кол-во постов в разделе
  • {LINK} - ссылка на раздел
  • {CATS} - выводит все категории данного раздела
    $2 - html код для самой категории, доступные переменные:
  • {TITLE} - название категории
  • {COUNT} - кол-во постов в категории
  • {LINK} - ссылка на категорию
    PARAMS - список параметров:
  • loader: предварительная загрузка (по умол.: Загрука..)
  • animate: режимы анимаций, доступно пока две анимации: 0 и 1 (по умол.: 0)
  • timeout: таймер загрузки категорий в миллисекундах (по умол.: 0)

    Вот так должно у вас примерно получиться:

    Code

    $.cats('<a href="{LINK}">{TITLE}</a><span>{COUNT}</span><div class="cats">{CATS}</div>', '<a href="{LINK}">{TITLE}: ({COUNT})</a>', {loader: 'Загрузка...', animate: 1, timeout: 1000});


    Автор: faforty
    DEMO: тут
  • 1 2 »
    Всего 34 комментариев и 1903 просмотра
    подумает, что он в раю :D
    Это же так тупо! Вы делаете скрипты для uCoz а тут условные операторы DLE И еще за свое выдаете!
    Я говорил что-то про дизайн? Речь идёт не о дизайне, а о скрипте! Вы для начала хоть описание и суть скрипта прочитайте, а потом уже пишите!!!!!
    Какие еще "условные операторы DLE"? Покажи.
    Под словом "условные операторы DLE", он имел ввиду переменные вида: {TITLE}. Человек просто не знает, что такое переменные, а что такое условные операторы. И да, PheonixICQ, могу тебя огорчить, такие переменные могут быть не только в DLE! :D
    Скрипт и плагин не работают у меня на сайте, я уже всё перепробовал. Что же Вы не хотите инструкцию то написать, почему Вам так сложно? Я бы хоть понял что я не правильно делаю...
    Ебанутые. Рип рипом и мозгов у вас маловато. Если не додумались, что я имел ввиду под числом 12 фразу "очень давно".
    За слова отвечай.
    Из "рипа" здесь только скриншот.
    Во первых не с ucozua.ru а с prowebber.ru, во вторых это не рип, в третьих думай и потом пиши
    Не хочу показаться бестактным. НО! это же рип. На ucozua.ru такой стоит уже 12 лет.
    Quote

    12 лет.


    Если учесть что сайту не больше 2-х лет..
    Спамер без логики, блин..
    rip? WTF? Ты прежде чем вякать, сравни код мудила!
    Знаешь, по виду не судят!
    Бессмысленная нагрузка сайта!
    Ммм, нагрузка в плане чего? То, что один get запрос идет?
    Laktrizimo, ахахах е*ать ты лох :D
    То есть на одну и ту же страницу? Ну я так и делаю, скрипт плагина просто на сайте отображается в виде кода и всё, а сам скрипт категорий при этом не работает.
    Ооо.. Вы плагин в теги <script></script> добавили хоть? Если нет, то добавьте
    У меня сайт закрытый. Просто объясните куда именно на какую страницу вставлять плагин?
    в посте всё написано, куда нужно вставлять! Плагин после <body>. Сам скрипт перед </body>
    uSite.su © 2010-2020
    Все права защищены.
    Лишь самые новые разработки для системы uCoz, среди которых находятся уникальные скрипты и великолепные части дизайна, совокупность которых порождает любимый многими сайт — uSite.su.
    01RSS
    Хостинг от uCozПользовательское соглашение и прочая информация