Создаем динамическое меню

Создаем любое меню динамически. Простой скрипт с большим потенциалом.

function makeMenu(items, tags) {
  
  tags = tags || ['ul', 'li']; // Теги по умолчанию
  var parent = tags[0];
  var child = tags[1];
  
  var item, value = '';
  for (var i = 0, l = items.length; i < l; i++) {
    item = items[i];
    // Разделяем пункты и значения, если они имеются
    if (/:/.test(item)) {
      item = items[i].split(':')[0];
      value = items[i].split(':')[1];
    }
    // Оборачиваем  пункт в тег
    items[i] = '<'+ child +' '+
      (value && 'value="'+value+'"') +'>'+ // Добавляем значение, если оно есть
        item +'</'+ child +'>';
  }
  
  return '<'+ parent +'>'+ items.join('') +'</'+ parent +'>';
}

Использование:
// Выпадающий список месяцев
makeMenu(
  ['January:JAN', 'February:FEB', 'March:MAR'], // пункт:значение
  ['select', 'option']
);
  
// Список бакалеи
makeMenu(
  ['Carrots', 'Lettuce', 'Tomatos', 'Milk'],
  ['ol', 'li']
);

Теги:
динамическое меню
Добавлено: 18 Апреля 2018 10:23:13 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...