@ruslan_f0x

Можно ли сократить как нибудь код js?

Добрый день!
Написал код, теперь думаю, что его можно сократить, но не знаю как, прощу помощи)

5e1700555bef8455948695.jpeg
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
twobomb
@twobomb
$(function(){
  $("#sel").change(function(){
    $("#BNBUSDT,#MANABTC,#MANAETH,#BNBBTC").css("display","none");
    $("#"+$(this).val()).css("display","block");
  });
});


P.S. Для любителей нативного js

window.onload = () =>{
  document.all.sel.onchange =(e) => {
    document.querySelectorAll("#BNBUSDT,#MANABTC,#MANAETH,#BNBBTC").forEach((e) =>{
    	e.style.display = "none";
    });
    document.querySelector("#"+e.srcElement.value).style.display = "block";
  };
}
Ответ написан
Комментировать
@Mysianio
вайти в айти
Все document.getElementById('selector') заменить на переменные, вы очень часто их используете
Напрмиер:
let manabtc = doucment.getElementById('MANABTC')
...
manabtc.style.display = ...
...

А раз вы еще используете и JQuery судя по $, то можете сделать так:
let manabtc = $('#MANABTC')

А так же в самом начале 'change' евента, прописать всем опциям display='none'.
А потом через if менять стиль дисплея только 1 элементу
Например:
a.style.display ='none'
b.style.display ='none'
c.style.display ='none'
d.style.display ='none'
if(a){
   a.style.display='block'
}
if(b){
   b.style.display='block'
}

И так далее

Вуляля, ваш код сократился в 2-3 раза
P.S. Сверху эксперт по JQuery, так что лучше сделать, как написал он, мой вариант больше подходит для нативного js
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы