Как сделать вывод данных в виде списка или сетки.
Нажмите на кнопку, чтобы выбрать отображение данных в виде списка или сетки.
Колонка 1
Какой-то текст..
Колонка 2
Какой-то текст..
Колонка 3
Какой-то текст..
Колонка 4
Какой-то текст..
Отображение в виде списка/сетки
Шаг 1) Добавляем HTML:
Пример
<!-- Загружаем библиотеку иконок Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Кнопки для переключения отображения список-сетка -->
<button onclick="listView()"><i class="fa fa-bars"></i> Список</button>
<button onclick="gridView()"><i class="fa fa-th-large"></i> Сетка</button>
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Колонка 1</h2>
<p>Какой-то текст..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Колонка 2</h2>
<p>Какой-то текст..</p>
</div>
</div>
<div class="row">
<div class="column" style="background-color:#ccc;">
<h2>Колонка 3</h2>
<p>Какой-то текст..</p>
</div>
<div class="column" style="background-color:#ddd;">
<h2>Колонка 4</h2>
<p>Какой-то текст..</p>
</div>
</div>
Шаг 2) Добавляем CSS:
Пример
/* Создаем две одинаковые колонки, которые обтекают друг друга */
.column {
float: left;
width: 50%;
padding: 10px;
}
/* Сбрасываем обтекание для элементов за колонками */
.row:after {
content: "";
display: table;
clear: both;
}
Шаг 3) Добавляем JavaScript:
Пример
// Получаем элемент с атрибутом class="column"
var elements = document.getElementsByClassName("column");
// Декларируем переменную для цикла
var i;
// Отображение в виде списка
function listView() {
for (i = 0; i < elements.length; i++) {
elements[i].style.width = "100%";
}
}
// Отображение в виде сетки
function gridView() {
for (i = 0; i < elements.length; i++) {
elements[i].style.width = "50%";
}
}
Попробовать самому »