Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2023, 15:55   #61
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от miltorg Посмотреть сообщение
Для всех:
А чё по коду то??? Кричали: Дай код, дай код
Серьезно, ты хочешь услышать что по коду, точно хочешь ?)
uberchel вне форума Ответить с цитированием
Старый 18.02.2023, 15:56   #62
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от miltorg Посмотреть сообщение
Код:
function otrTab(t, kol_kn){
  let u = [];
  let cv =[];
  
  for(let i=0; i < kol_kn; i++){
    u[i] = 'none';
    u[t] = 'block';
    
    cv[i] = '#f0f0f0';
    cv[t] = '#e0e0e0';
    
    globalThis['tab'+i].style.display = u[i];
    globalThis['kn'+i].style.background = cv[i];
    }

}
Нафига собирать массивы одинаковых значений, особенно при том, что они же и используются сразу на той же итерации того же самого цикла. Быстрее скрипт от этого работать не станет, если вы вместо if (i == t) создадите массив, а вот памяти займет больше. Хотя какая разница - память то не сервера, можно транжирить.

Код:
function otrTab(t, kol_kn){
  for(let i=0; i < kol_kn; i++){
    globalThis['tab'+i].style.display = (i == t) ? 'block' : 'none';
    globalThis['kn'+i].style.background = (i == t) ? '#e0e0e0' : '#f0f0f0';
    }
}
Кажется даже стало короче чем было.

Последний раз редактировалось macomics; 18.02.2023 в 15:59.
macomics вне форума Ответить с цитированием
Старый 18.02.2023, 16:04   #63
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
же стало короче чем было.
Да это вообще все не нужно было сделать ему.
Какие цеклы и прочее, повесить событие на клик и работать с ним, без циклов и т.п, вот и все табы )
uberchel вне форума Ответить с цитированием
Старый 18.02.2023, 16:11   #64
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,554
По умолчанию

Цитата:
Сообщение от miltorg Посмотреть сообщение
Для всех:
А чё по коду то??? Кричали: Дай код, дай код
Ну код собственно и ответил на главный вопрос этой темы. Вы обладаете очень низким уровнем как программист, от этого и все беды в попытке заработать, выполняя работу программиста. Сейчас ваш уровень примерно где-то в районе средненького студента 2-3 курса универа, не двоечника, но и не преуспевающего в обучении. И все бы ничего, все когда-то учились и допускали глупые решения, но вот в чем проблема:
Цитата:
Сообщение от miltorg Посмотреть сообщение
Программирую с института. С 1984 года.
А это говорит о том, что вы уже достигли пика своего развития, выше головы прыгнуть не сможете, а значит и что-то заработать в этой области...
Arigato вне форума Ответить с цитированием
Старый 18.02.2023, 16:46   #65
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
повесить событие на клик и работать с ним, без циклов и т.п, вот и все табы
Ну вообще то он и повесил событие на onclick

Цитата:
Сообщение от miltorg Посмотреть сообщение
Код:
<button id="kn<?=$i?>" class="tab-button<?php if($i==0) print ' active';?>"
        onclick="otrTab(<?=$i?>,<?=$kol_kn?>)"><?=$kn[$i]?></button>
macomics вне форума Ответить с цитированием
Старый 18.02.2023, 18:03   #66
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
Сообщение от uberchel
повесить событие на клик и работать с ним, без циклов и т.п, вот и все табы
Я имел ввиду через AddEventListener )
uberchel вне форума Ответить с цитированием
Старый 19.02.2023, 16:15   #67
miltorg
Пользователь
 
Регистрация: 13.04.2019
Сообщений: 54
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
Ну вообще то он и повесил событие на onclick
Да им лишь бы чего сказать
miltorg вне форума Ответить с цитированием
Старый 19.02.2023, 16:17   #68
miltorg
Пользователь
 
Регистрация: 13.04.2019
Сообщений: 54
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
Нафига собирать массивы одинаковых значений,
И? Вы сократили код. Ну и что? Это так важно?
miltorg вне форума Ответить с цитированием
Старый 19.02.2023, 16:35   #69
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,554
По умолчанию

Цитата:
Сообщение от miltorg Посмотреть сообщение
И? Вы сократили код. Ну и что? Это так важно?
Ваш код написан непрофессионально, на уровне студента 2-го курса:
Код:
function otrTab(t, kol_kn){
  let u = [];
  let cv =[];
  
  for(let i=0; i < kol_kn; i++){
    u[i] = 'none';
    u[t] = 'block';
    
    cv[i] = '#f0f0f0';
    cv[t] = '#e0e0e0';
    
    globalThis['tab'+i].style.display = u[i];
    globalThis['kn'+i].style.background = cv[i];
    }

}
Даже не вникая в суть, сходу можно сделать так:
Код:
function otrTab(t, kol_kn){
  for(let i=0; i < kol_kn; i++){
    u = (i == t) ? 'block' : 'none';
    cv = (i == t) ? '#e0e0e0' : '#f0f0f0';
    globalThis['tab'+i].style.display = u;
    globalThis['kn'+i].style.background = cv;
    }

}
Зачем тут был нужен массив?
Arigato вне форума Ответить с цитированием
Старый 19.02.2023, 16:43   #70
miltorg
Пользователь
 
Регистрация: 13.04.2019
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Ну код собственно и ответил на главный вопрос этой темы. Вы обладаете очень низким уровнем как программист, от этого и все беды в попытке заработать, выполняя работу программиста. Сейчас ваш уровень примерно где-то в районе средненького студента 2-3 курса универа, не двоечника, но и не преуспевающего в обучении. И все бы ничего, все когда-то учились и допускали глупые решения, но вот в чем проблема:

А это говорит о том, что вы уже достигли пика своего развития, выше головы прыгнуть не сможете, а значит и что-то заработать в этой области...
Гениально! Посмотрев на кусочек постороннего JS кода вы смогли постичь мои знания в программировании модулей под Друпал. Гениально :-)
miltorg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пока не кончатся совпадения по регулярным выражениям mikhail2019 C# (си шарп) 8 23.04.2019 17:47
Деньги, деньги - дребеденьги cosmopolit Свободное общение 79 30.11.2014 19:03
Умножение но не совсем) lyb4eg SQL, базы данных 3 10.02.2012 11:13
Совсем новичок lucky_beggar Общие вопросы C/C++ 59 10.08.2011 16:18
О жизни Simply-Art Свободное общение 19 20.01.2007 09:25