#javascript
Вопрос:
Вот код, который Я ПОЛУЧИЛ ОТ W3SCHOOLS. Все это работает, за исключением первой загрузки страницы, которая выдает мне пустую страницу, но затем, когда я нажимаю на одну из тем, это работает.
function filterSelection(c) { var x, i; x = document.getElementsByClassName("filterDiv"); if (c == "all") c = ""; for (i = 0; i lt; x.length; i ) { w3RemoveClass(x[i], "show"); if (x[i].className.indexOf(c) gt; -1) w3AddClass(x[i], "show"); } } function w3AddClass(element, name) { var i, arr1, arr2; arr1 = element.className.split(" "); arr2 = name.split(" "); for (i = 0; i lt; arr2.length; i ) { if (arr1.indexOf(arr2[i]) == -1) {element.className = " " arr2[i];} } } function w3RemoveClass(element, name) { var i, arr1, arr2; arr1 = element.className.split(" "); arr2 = name.split(" "); for (i = 0; i lt; arr2.length; i ) { while (arr1.indexOf(arr2[i]) gt; -1) { arr1.splice(arr1.indexOf(arr2[i]), 1); } } element.className = arr1.join(" "); } // Add active class to the current button (highlight it) var btnContainer = document.getElementById("myBtnContainer"); var btns = btnContainer.getElementsByClassName("btn"); for (var i = 0; i lt; btns.length; i ) { btns[i].addEventListener("click", function(){ var current = document.getElementsByClassName("active"); current[0].className = current[0].className.replace(" active", ""); this.className = " active"; }); }```
Комментарии:
1. Ваш код не завершен. Добавьте свой html-код.
2. lt;идентификатор div=»myBtnContainer»gt; lt;идентификатор div=»myBtnContainer»gt;lt;класс кнопки=»btn активный» onclick=»Выбор фильтра («все»)»gt; Показать всеlt;класс кнопки=»btn активный»onclick=»Выбор фильтра («все»)»gt;lt;/кнопкаgt; lt;/кнопкаgt;lt;класс кнопки=»btn» onclick=»Выбор фильтра («аним»)»gt; Анимацииlt;класс кнопки=»btn» onclick=»Выбор фильтра («все»)»gt;»аним»)»gt;lt;/кнопкаgt;lt;/кнопкаgt;lt;класс кнопки=» btn»onclick=» Выбор фильтра («опечатка»)»gt;Типографияlt;класс кнопки=» btn»onclick=» Выбор фильтра («опечатка»)»gt;lt;/кнопкаgt;lt;/кнопкаgt;lt;класс кнопки=»btn»onclick=» Выбор фильтра («редактирование»)»gt;Редакционный дизайнlt;класс кнопки=» btn»onclick=»Выбор фильтра («редактирование»)»gt;lt;/кнопкаgt;lt;/кнопкаgt;lt;класс кнопки=» btn»onclick=» Выбор фильтра (‘img’)»gt;Изображенияlt;класс кнопки=»btn» onclick= » Выбор фильтра (‘img’) «gt;lt;/кнопкаgt;lt;/кнопкаgt;lt;класс кнопки= » btn «onclick=» Выбор фильтра (‘модный дизайн’) «gt;Дизайн одеждыlt;класс кнопки= » btn «onclick=» Выбор фильтра (‘модный дизайн’) «gt;lt;/кнопкаgt;lt;/кнопкаgt;lt;класс кнопки= » btn «onclick=» Выбор фильтра (‘фото’) «gt;Фотографияlt;класс кнопок= » btn «onclick=» Выбор фильтра (‘фото’) » gt;lt;/кнопкаgt;lt;/кнопкаgt;lt;/div gt;
Ответ №1:
Вы не поделились html-частью, содержащейся в вашем коде, но в любом случае ее можно угадать. Вы можете добавить класс показа к любому из них, который хотите показать при первой загрузке. Например lt;div class="filterDiv typo show"gt;...lt;/divgt;
, если вы хотите показать раздел опечатки при первой загрузке.
Комментарии:
1. Привет, спасибо! Это сработало, мне просто нужно добавить его ко всем моим дивам, и они появятся, а затем их можно будет отфильтровать, большое спасибо!!!