Задача заключается в следующем.
Нужно сделать кнопку, которая переключает вид товаров на сайте(кубиками или списком).
Из моих идей:
Прошу помочь с этой задачей. Как ее лучше решить? Может есть более простой способ?
В данном случае стоит просто манипулировать стилями:
var products = document.getElementById('products');
document.getElementById('grid').addEventListener('click', function(){
products.classList.add('grid');
});
document.getElementById('list').addEventListener('click', function(){
products.classList.remove('grid');
});
.product {
background: #CCC;
width: 100%;
height: 50px;
border: 1px solid #FFF;
box-sizing: border-box;
float: left;
}
.grid .product {
width: 50%;
}
<button id="list">Список</button>
<button id="grid">Сетка</button>
<div id="products">
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
</div>
А в чем, собственно, заключается костыльность второго варианта?
Ставите две кнопки, которые будут переключать стили у блоков товара. И делаете количество выдаваемых единиц кратное количеству столбцов при изменении на "сетку". Насколько я знаю, таким способом пользуются все популярные торговые площадки.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно, чтобы при получении чисел, которые указывает пользователь, они переводили своё значение в таймерНо проблема не в этом