Как сократить код не изменяя сути?

303
20 августа 2017, 07:06

Есть код:

 var arr = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30);
var RandElement = Math.floor(Math.random() * arr.length);
var link = '';
console.log(RandElement);

И swith:

    switch (RandElement) {
  case 0:
    var SummDok = document.getElementById('left_block_menu'),
        SummSumm='текст';
        SummDok.innerHTML = SummSumm;  
  break;
  case 1:
    var SummDok = document.getElementById('left_block_menu'),
        SummSumm='текст';
        SummDok.innerHTML = SummSumm;
  break;
...

И всё выполняется отлично, рандомное число определяется и взависимости от него выдается тот или иной текст. Но есть ещё кнопка, при нажатии на которую число должно увеличится на один и выдать результат без обновления страницы (с учётом изменившегося числа, т.е. если был case3, то после нажатия текст должен браться из case4. У меня получилось это сделать только так:

    document.querySelector('.but_rek_left_block3').onclick = function() {    
    RandElement++;
    if (RandElement == 31) {
    RandElement = 0;
    }
    console.log(RandElement); 
    switch (RandElement) {
  case 0:
    var SummDok = document.getElementById('left_block_menu'),
        SummSumm='текст';
        SummDok.innerHTML = SummSumm;  
  break;
  case 1:
    var SummDok = document.getElementById('left_block_menu'),
        SummSumm='текст';
        SummDok.innerHTML = SummSumm;
  break;
...

Но это увеличение кода, поскольку и так swith на 30, и в кнопке тоже.. может есть способ всё это сократить?

Вот div (кнопка):

<div class="but_rek_left_block3" id="but_rek_left_block3">
    <div><spans>Пропустить</spans></div>
</div>
READ ALSO
Калькулятор с условиями для сайта

Калькулятор с условиями для сайта

ЗдравствуйтеПомогите, пожалуйста, реализовать условия вывода результата на сайте при вводе чисел

222
Google maps позиция

Google maps позиция

Подскажите , как реализовывается такая вещь: Есть блок, где выбирается город, к примеру Москва и Лондон И мне нужно 1) указать в каждом городе...

198
Собрать многомерный массив

Собрать многомерный массив

Пытаюсь собрать $amount массивов:

224