Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/32: Рейтинг темы: голосов - 32, средняя оценка - 4.78
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172

Меню-аккордеон с числом пунктов

04.01.2024, 02:34. Показов 7297. Ответов 86

Студворк — интернет-сервис помощи студентам
Конечно, меню не мое. Вот оно Pure CSS Accordion

Как видите из названия Pure ... -- это очень популярная тема -- делать сложные вещи просто на CSS.
Изначально в оригинале не было JS. Я его туда добавил, и сделал ему случайные фильтры . Фильтры были постояные, теперь случайные при обновлении страницы.
Случайный код JS простой, универсальный. Его можно брать и лепить везде, где хочется чего-то случайного.

Вопрос: как сделать чтобы пункты меню имели постоянную высоту. Я пока не знаю, как ее ограничивать, но больше 2 строк не надо. Чтобы текст слева упирался (вроде есть) , и прятался под правую, с простой обрезкой текста.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form name="Form">
  <input name="input" class="input" type="number" value="3" min="1" onchange="show()">
</form>
<div class="wrap">
    <input type="checkbox" checked>
        <ul id="list">
      <li></li>
        <li><a class="link" href="https://ya.ru">Text 2 Text 2 Text 2 Text 2 Text 2 Text 2</a></li>
      <li></li>
      <li></li>
        </ul>   
</div>
<div class="credits">
  <a target="_blank" href="https://codepen.io/emoreno911">@emoreno911</a>
<div>
CSS
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*  @import "compass/css3";  */ 
 
:root {--sec: 2s ease-in-out;  
       --count: 3;}
$bg1: "https://dl.dropbox.com/s/mbho5bqfofk6g99/pic.jpg";
$bg2: "https://dl.dropbox.com/s/kioimintl0v9l4d/pic.jpg";
$bg3: "https://dl.dropbox.com/s/7a60gndncwf81x8/pic.jpg";
$bg4: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
 
body { background-color: #000;
       display: flex;
       flex-direction: column;  }
 form {margin-left: calc((100% - 1160px) / 2);}
.input {
  width: 2em;
  padding: auto;
/*  font-size: 1.2em;  */  }
.link {position: absolute;
       background-color: #444A;
       padding: 1vw;
       bottom: 0px;
 /*    left: 50%;
       transform: translateX(-50%);
       overflow: hidden;                */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
       text-overflow: ellipsis;
       white-space: wrap;
       z-index: 1;
       text-decoration: none;
       color: #FFF; 
       font-size: 3vw;   }
 
 a {color: red;
    background-color: #111;
    font-family: "Segoe UI", "Ubuntu", monospace;
    font-weight: 500;
    text-decoration: none;
    padding: 2px 10px;
    border-radius: 4px;  
    font-size: 1.5vw;   }     
ul {
  list-style: none;
  max-width: 1200px;
  margin: 0 auto;
  li {position: relative;
    float: left; 
    width: 16.666%; 
    height: 600px;
    opacity: 0.4;
    transition: var(--sec);
    &:hover, &:first-child ~ li:last-child {
      width: 50%;
      opacity: 1;
     transition: var(--sec);   }
    &:hover ~ li:last-child {
      width: 16.666%;
      opacity: 0.4;    }
    &:nth-child(1) {background: url($bg1) top center no-repeat; }
    &:nth-child(2) {background: url($bg2) top right  no-repeat; }
    &:nth-child(3) {background: url($bg3) top center no-repeat; }
    &:nth-child(4) {background: url($bg4) top center no-repeat; }
      }  // End li
    } // End ul
 
.menu {}
 
/** Add cool filter efects **/
ul li {
  &::before {
    content: "";
    display:block;
    width:0;
    height:100%;
    transition: var(--sec);  }
 
&:nth-child(1)::before {background-color: rgba(calc(25.5 * var(--random1,10)), calc(25.5 * var(--random2,10)), calc(25.5 * var(--random3,10)), .3)  }
&:nth-child(2)::before {background-color: rgba(calc(25.5 * var(--random3,10)), calc(25.5 * var(--random1,10)), calc(25.5 * var(--random2,10)), .25) }
&:nth-child(3)::before {background-color: rgba(calc(25.5 * var(--random2,10)), calc(25.5 * var(--random3,10)), calc(25.5 * var(--random1,10)), .25) }
&:nth-child(4)::before {background-color: rgba(calc(25.5 * var(--random1,10)), calc(25.5 * var(--random3,10)), calc(25.5 * var(--random2,10)), .3)  }
        }   /*  End  ul li */
 
input:checked ~ ul li::before { 
  width: 100%;
  transition: var(--sec); 
}
 
input[type="checkbox"] {
  width:200px;
  margin: 5px;
  font-family: "Segoe UI", "Ubuntu", monospace;
  color: white;
  &::after{
    content: "Filters Enabled";
    color: #caa;
    position: relative;
    top: -3px;
    left: 5px;
  }
}
 
/** Layout fixes **/
.credits {text-align: right;
          margin-top: 5px;     }
.credits a {margin-right: calc((100% - 1230px)/2);}
 input[type="checkbox"] {margin-left: calc((100% - 1160px)/2);}
@media (max-width: 1240px) {
  .credits a { margin-right: 0px;}
   input[type="checkbox"] { margin-left: 35px;}   }
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function RandomInt(min, max){
  return Math.floor(Math.random()*(max - min) + min)} ;
 
let random1 = RandomInt(1, 10);
let random2 = RandomInt(1, 10);
let random3 = RandomInt(1, 10);
 
let root=document.querySelector(":root"); 
root.style.setProperty("--random1", random1);
root.style.setProperty("--random2", random2);
root.style.setProperty("--random3", random3);
 
function show() {
  count = parseInt(document.forms.Form.input.value);
  block = new Array();
  for (i = 0; i < count; i++)
    block.push('<li></li>');
  document.getElementById('list').innerHTML = block.join('');
                 }
window.addEventListener("load", (event) => {show()} );
root.style.setProperty("--count", count);
Миниатюры
Меню-аккордеон с числом пунктов  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2024, 02:34
Ответы с готовыми решениями:

Аккордеон меню
Приветствую всех. Есть меню аккордеон. Само по себе работает , но я например открыл пункт и открываю второй , первый в этот момент не...

Центровка пунктов в выпадающем меню по центру ul блока (Битрикс меню)
Всем привет! Требуется в выпадающем меню, т.е. в самых блоках выпадающего меню, сделать чтобы все ссылки были в центре, т.е. чтобы они...

Неполадки с меню Аккордеон
Не выскакивают аккардеоном пункты В чем проблема уже запутался. Поскажите, знающие люди. &lt;div class=&quot;akkordeon&quot;&gt; ...

86
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
07.01.2024, 17:38
Студворк — интернет-сервис помощи студентам
Цветовое значение в формате шестнадцатеричной нотации, как "#AAAAAA", представляет собой 6-байтовое значение, где каждый из шести символов может быть любой цифрой (0-9) или буквой (A-F).

В CSS, трехзначное шестнадцатеричное значение, такое как "#AAA", расширяется до шести символов, повторяя каждую цифру дважды, чтобы получить полное шестизначное значение. Например, "#AAA" расширяется до "#AAAAAA". Это позволяет использовать более короткий синтаксис для определения цветов, имея при этом тот же результат.

Таким образом, "color:#AAAAAA;" и "color:#AAAAAAAA;" будут иметь одинаковый результат - оба значения представляют цвет с шестизначным значением, где каждый символ повторяется дважды.
1
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
07.01.2024, 20:48  [ТС]
Именч, это понятно, уже.
Называеся спросил про случайный цвет. Ответ Копилота:
[
Если вы хотите использовать шестнадцатеричный код цвета с альфа-каналом в CSS, вам придется преобразовать его в десятичные значения RGB и альфа-канала. Например, #a в RGB будет 170, и 0.5 может быть примером значения альфа-канала для 50% непрозрачности.

Вот пример того, как вы можете использовать шестнадцатеричный код цвета ARGB в CSS:

element {
background-color: rgba(170, 170, 170, 0.5); /* #aaaaaa с 50% непрозрачностью */
}
Добавлено через 2 минуты
Именч, и ваша цитата подозрительная.
Цитата Сообщение от Именч Посмотреть сообщение
Таким образом, "color:#AAAAAA;" и "color:#AAAAAAAA;" будут иметь одинаковый результат -
-- нет, вторая менее яркая.

Этот электронный лазутчик SkyNet полчаса убеждал меня, что background-color: и color: -- имеют разные цветовые предпочтения. Вредитель

Добавлено через 1 час 17 минут
rr33rr,
HTML5
1
&:nth-child(3)::before {background-color: hsla(100, 100%, 50%, 0.8) }
чище цвеов не бывает -- менять только H и A . Все упрощается, можно без циклов и состыковки случайных цветов, но меня что то сдохло с фильтрами -- не работают даже обыные цвета , без переменных

Добавлено через 10 минут
кошмар , у меня осталось незакрытое окно Codepen
HTML5
1
 &:nth-child(1)::before {background-color: var(--color1) }
работает и без rgba()

Добавлено через 23 минуты
я потерял исходный, вот промежуточный , но рабочий CSS Accordion-@emoreno911-2

Добавлено через 5 минут
Я перешел на HSLA -- проще и чище цвета.
какая от загадка :
CSS
1
2
3
:root {
    --color3: 155;      
}
&:nth-child(3)::before {background-color: hsla(var(--color3), 100%, 50%, 0.8) } -- не работает.
хотя перед этим прекласно работало
CSS
1
2
3
:root {
    --color3:1235;      
}
&:nth-child(3)::before {background-color: var(--color3) -- работает и без rgba(...).

теперь проще
$color3: 455;
&:nth-child(3)::before {background-color: hsla($color3, 100%, 50%, 0.8) }
-- работает !.

Добавлено через 22 минуты
Где-то читал про переменные CSS и SASS , что они пр разному воспринимаются. СSS более универсальные, SASS требуют какой-то компиляции . Зато последние работают.

Добавлено через 17 минут
Пришел КОТ, Теперь работают и var(), $var , без разницы. Вместе.
Я смотрю этот СodePen -- работает, когда хочет. Может показать ошибку, или нет.
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
07.01.2024, 22:00
Цитата Сообщение от seregadushka Посмотреть сообщение
но рабочий CSS Accordion-@emoreno911-2
Точно рабочий ?
Миниатюры
Меню-аккордеон с числом пунктов  
1
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
07.01.2024, 23:03  [ТС]
Именч, да эта ошибка постоянно, ваще не понятно что это . Смотрите еще раз, я там сократил много.
Вы же можете создать свой форк, и сделайте как видите.
Раньше поле ввода отвеало за число картин, сейчас все померло. Хоть фильтры спас.

Раньше было красиво,
можно было удалить все <li></li>, т.к. <ul></ul> сам набирался в цикле . Но все пропало, повторить не могу.
Похоже, что из cкрипта мало что доходит до CSS
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
07.01.2024, 23:30
Цитата Сообщение от seregadushka Посмотреть сообщение
сейчас все померло.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
let root = document.querySelector(":root");
var count = parseInt(document.forms.Form.input.value);
var block = new Array();
 
function show() { //пункты меню + цвет 
    for (var i = 0; i < count; i++) {
        var color(i + 1) = RandomInt(0, 36) * 10;
        root.style.setProperty("$color" + (i + 1), color(i + 1));
        block.push('<li>' + li_str[i] + '</li>')
    } // End for i
} // End Show
Можно прекрасно увидеть, что вы в функции не берёте значение поля. Значение count записывается единожды при загрузки.

Добавлено через 1 минуту
JavaScript
1
  var color(i+1) = RandomInt(0, 36) * 10;
А про это я вообще молчу.. Что это такое ? Почему переменная объявляется с какими то скобками? Для чего? Вы наверное хотели завести массив. Только он не так объявляется.
1
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
07.01.2024, 23:44  [ТС]
Цитата Сообщение от Именч Посмотреть сообщение
А про это я вообще молчу.. Что это такое ? Почему переменная объявляется с какими то скобками? Для чего? Вы наверное хотели завести массив. Только он не так объявляется.
[] -- это для массива. А мне над просто $color1 , $color2, $color3, .... $color10 Как переадать из JS в эти бэкграунды ?

У меня каша с этими переменными. $color1 -- это же SASS , с ними больше проблем? Может var(--color1) ???

Добавлено через 7 минут
вот зараза , недавно еще это работало
HTML5
1
 &:nth-child(1)::before {background-color: hsla(var(--color1), 100%, 50%, $alpha) }
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 00:01
Я вам указал что у вас всё разбросано вне функции, вы ждёте пока кто - то соберёт в 1 функцию ?
1
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 00:13  [ТС]
понял , так ?

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function show() { //пункты меню + цвет 
 
let root = document.documentElement;
var count = parseInt(document.forms.Form.input.value);
var block = new Array();
 
    for (var i = 0; i < count; i++) {
        var color(i + 1) = RandomInt(0, 36) * 10; // угол 0 до 360 
        root.style.setProperty("$color" + (i + 1), color(i + 1));
        block.push('<li>' + li_str[i] + '</li>')
    } // End for i
} // End Show
Добавлено через 6 минут
пипец, в инете написано, background-color: hsla() работает только $color1 (SASS) , потом написано, что JS с SASS не работает.
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 01:24
JavaScript
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
31
32
33
34
35
36
37
38
39
40
41
42
/* Текст в подписях. Сколько планируете картинок, столько и элементов массива сделайте */
let li_str = [
    '<a href="https://ya.ru" class="link">1. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">2. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">3. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">4. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">5. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">6. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">7. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">8. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">9. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">10. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>'
];
 
 
function RandomInt(min, max) {
    return Math.floor(Math.random() * (max - min) + min)
};
 
function show() {
  let count = parseInt(document.forms.Form.input.value);
  if(count > li_str.length)
     count = li_str.length;
 
  const ul = document.getElementById('list');
  ul.innerHTML = '';
 
  for(let index in li_str) {
    if(index >= count) {
      count = index;
      break;
    }
    const li = document.createElement('li');
    li.innerHTML = li_str[index];
    ul.appendChild(li);
  }
  document.documentElement.style.setProperty("--count", count);
}
 
window.addEventListener("load", (event) => {
    show()
});
Добавлено через 36 минут
CSS
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
/* @import "compass/css3";   */
 
$alpha: 0.8;
:root {
  --sec: 1s ease-in-out;
  --count: 10;
  --full_width: 600px;
  --full_height: 600px;
  --color1: hsla(0, 100%, 50%, $alpha);
  --color2: hsla(20, 100%, 50%, $alpha);
  --color3: hsla(40, 100%, 50%, $alpha);
  --color4: hsla(60, 100%, 50%, $alpha);
  --color5: hsla(80, 100%, 50%, $alpha);
  --color6: hsla(100, 100%, 50%, $alpha);
  --color7: hsla(120, 100%, 50%, $alpha);
  --color8: hsla(140, 100%, 50%, $alpha);
  --color9: hsla(160, 100%, 50%, $alpha);
  --color10: hsla(200, 100%, 50%, $alpha);
  
}
 
 
$bg1: "https://dl.dropbox.com/s/mbho5bqfofk6g99/pic.jpg";
$bg2: "https://dl.dropbox.com/s/kioimintl0v9l4d/pic.jpg";
$bg3: "https://dl.dropbox.com/s/7a60gndncwf81x8/pic.jpg";
$bg4: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
$bg5: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
$bg6: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
$bg7: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
$bg8: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
$bg9: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
$bg10: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg";
 
body {
  background-color: #357;
  display: flex;
  flex-direction: column;
}
form {
  margin-left: calc((100% - 1160px) / 2);
}
.input {
  width: 2em;
  padding: 0 auto;
  font-size: 1.2em;
}
.link {
  position: absolute;
  background-color: #444a;
  padding: 1vw;
  bottom: 0px;
  /*    left: 50%;
       transform: translateX(-50%);
       overflow: hidden;                */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
  z-index: 1;
  text-decoration: none;
  color: #fff;
  font-size: 3vw;
}
 
a {
  color: red;
  background-color: #111;
  font-family: "Segoe UI", "Ubuntu", monospace;
  font-weight: 500;
  text-decoration: none;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 1.5vw;
}
ul {
  list-style: none;
  max-width: 100%;
  margin: 0 auto; /* убрать */
  li {
    position: relative;
    float: left;
    width: calc((100% - var(--full_width)) / var(--count));
    height: var(--full_height);
    opacity: 0.4;
    transition: var(--sec);
    &:hover,
    &:first-child ~ li:last-child {
      width: var(--full_width);
      opacity: 1;
      transition: var(--sec);
    }
    &:hover ~ li:last-child {
      width: сalc((100% - var(--full_width)) / var(--count));
      /*     opacity: 0.1;  что это ? */
    }
    &:nth-child(1) {
      background: url($bg1) top center no-repeat;
    }
    &:nth-child(2) {
      background: url($bg2) top right no-repeat;
    }
    &:nth-child(3) {
      background: url($bg3) top center no-repeat;
    }
    &:nth-child(4) {
      background: url($bg4) top right no-repeat;
    }
    &:nth-child(5) {
      background: url($bg5) top right no-repeat;
    }
    &:nth-child(6) {
      background: url($bg6) top right no-repeat;
    }
    &:nth-child(7) {
      background: url($bg7) top right no-repeat;
    }
    &:nth-child(8) {
      background: url($bg8) top right no-repeat;
    }
    &:nth-child(9) {
      background: url($bg9) top right no-repeat;
    }
    &:nth-child(10) {
      background: url($bg10) top right no-repeat;
    }
  } // End li
} // End ul
 
/** Add cool filter efects **/
ul li {
  &::before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    transition: var(--sec);
  }
 
  &:nth-child(1)::before {
    background-color: var(--color1);
  }
  &:nth-child(2)::before {
    background-color: var(--color2);
  }
  &:nth-child(3)::before {
    background-color: var(--color3);
  }
  &:nth-child(4)::before {
    background-color: var(--color4);
  }
  &:nth-child(5)::before {
    background-color: var(--color5);
  }
  &:nth-child(6)::before {
    background-color: var(--color6);
  }
  &:nth-child(7)::before {
    background-color: var(--color7);
  }
  &:nth-child(8)::before {
    background-color: var(--color8);
  }
  &:nth-child(9)::before {
    background-color: var(--color9);
  }
  &:nth-child(10)::before {
    background-color: var(--color10);
  }
} // End  ul li
 
input:checked ~ ul li::before {
  width: 100%;
  transition: var(--sec);
}
 
/*li:last-child ~ */
input[type="checkbox"] {
  position: absolute;
  width: 1rem;
  padding: 0;
  margin: 0.1rem;
  right: 1rem;
  bottom: 1rem;
}
 
/** Layout fixes **/

JavaScript
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* Текст в подписях. Сколько планируете картинок, столько и элементов массива сделайте */
let li_str = [
    '<a href="https://ya.ru" class="link">1. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">2. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">3. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">4. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">5. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">6. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">7. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">8. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">9. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>',
    '<a href="https://ya.ru" class="link">10. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>'
];
 
 
function RandomInt(min, max) {
    return Math.floor(Math.random() * (max - min) + min)
};
 
function show() {
  let rootStyle = document.documentElement.style;
  let count = parseInt(document.forms.Form.input.value);
  if(count > li_str.length)
     count = li_str.length;
 
  const ul = document.getElementById('list');
  ul.innerHTML = '';
 
  for(let index in li_str) {
    if(index >= count) {
      count = index;
      break;
    }
     let randomColor = RandomInt(0, 36) * 10;
    let randomColor_hsla = hsla(randomColor, 100, 50, 0.8);
    
    const li = document.createElement('li');
    li.innerHTML = li_str[index];
    ++index;
    rootStyle.setProperty("--color"+index, randomColor_hsla);
    ul.appendChild(li);
  }
  rootStyle.setProperty("--count", count);
}
 
window.addEventListener("load", (event) => {
    show()
});
 
function hsla(h, s, l, a) {
  // Проверка на допустимые значения
  if (h < 0 || h > 360 ||
      s < 0 || s > 100 ||
      l < 0 || l > 100 ||
      a < 0 || a > 1) {
    return null;
  }
 
  // Преобразование значений hue, saturation и lightness в диапазон [0, 1]
  const normalizedH = h / 360;
  const normalizedS = s / 100;
  const normalizedL = l / 100;
 
  // Вычисление RGB значений
  let r, g, b;
  if (normalizedS === 0) {
    r = g = b = normalizedL;
  } else {
    const q = normalizedL < 0.5 ? normalizedL * (1 + normalizedS) : normalizedL + normalizedS - normalizedL * normalizedS;
    const p = 2 * normalizedL - q;
    r = hueToRgb(p, q, normalizedH + 1/3);
    g = hueToRgb(p, q, normalizedH);
    b = hueToRgb(p, q, normalizedH - 1/3);
  }
 
  // Округление значений RGB до целых чисел
  const red = Math.round(r * 255);
  const green = Math.round(g * 255);
  const blue = Math.round(b * 255);
 
  // Возвращение строки в формате rgba()
  return `rgba(${red},${green},${blue},${a})`;
}
 
function hueToRgb(p, q, t) {
  if (t < 0) t += 1;
  if (t > 1) t -= 1;
  if (t < 1/6) return p + (q - p) * 6 * t;
  if (t < 1/2) return q;
  if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;
  return p;
}
1
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 01:51  [ТС]
Именч, спасибо конечно, может пригодися в теме, но мне надо только
CSS
1
 &:nth-child(1)::before {background-color: hsla($color1, 100%, 50%, $alpha) }
$alpha -- простоянная примерного значения около 0.3-0.5 , меняется по желанию 1 раз

const normalizedL = l / 100;
-- не может быть 100 -- это БЕЛЫЙ для любого цвета, чистый цвет ровно 50% дл S

Спсибо, не надо RGB

Добавлено через 3 минуты
Именч,
JavaScript
1
2
3
4
5
    const li = document.createElement('li');
    li.innerHTML = li_str[index];
    ++index;
    rootStyle.setProperty("--color"+index, randomColor_hsla);
    ul.appendChild(li);
там смысл, что li_str[index] собирается столько раз, скольсо count в поле ввода. И выводится <UL> -- и оно уже работало, чя чтото заполорол. Но не сильно. Текст на картинках был, но пропал

Добавлено через 1 минуту
мне надо в CODEPEN вставить

Добавлено через 5 минут
RGB -- если менять все 3 цвета, можно конечно. но там такие смеси, что много грязных цветов. HSLA -- проще, меняь только Н -- угол на круге цвета, осальное постоянное. Цвет в принципе работает. Я сам не понимаю, что -- $color1 -- это SASS переменная, , можно получить ее имя из JS ?
Я не могу заставить
background-color: hsla (var(--color1), 100%, 50%, 0.5) --lftn постояннуюю ошибку var(--color1) -- , хотя чего в ней сложного, пишет, что это СТРОКА

Добавлено через 1 минуту
ну и черт с ней, -- с var(--color1) не хочет, работает с $color1

Добавлено через 4 минуты
Именч,
CSS
1
 --color1: hsla(0, 100%, 50%, $alpha);
-- да, красиво
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 01:52
CSS
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/* @import "compass/css3";   */
 
$alpha: 0.8;
:root {
  --sec: 1s ease-in-out;
  --count: 10;
  --full_width: 600px;
  --full_height: 600px;
}
 
body {
  background-color: #357;
  display: flex;
  flex-direction: column;
}
form {
  margin-left: calc((100% - 1160px) / 2);
}
.input {
  width: 2em;
  padding: 0 auto;
  font-size: 1.2em;
}
.link {
  position: absolute;
  background-color: #444a;
  padding: 1vw;
  bottom: 0px;
  /*    left: 50%;
       transform: translateX(-50%);
       overflow: hidden;                */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
  z-index: 1;
  text-decoration: none;
  color: #fff;
  font-size: 3vw;
}
 
a {
  color: red;
  background-color: #111;
  font-family: "Segoe UI", "Ubuntu", monospace;
  font-weight: 500;
  text-decoration: none;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 1.5vw;
}
ul {
  list-style: none;
  max-width: 100%;
  margin: 0 auto; /* убрать */
  li {
    position: relative;
    float: left;
    width: calc((100% - var(--full_width)) / var(--count));
    height: var(--full_height);
    opacity: 0.4;
    transition: var(--sec);
    &:hover,
    &:first-child ~ li:last-child {
      width: var(--full_width);
      opacity: 1;
      transition: var(--sec);
    }
    &:hover ~ li:last-child {
      width: сalc((100% - var(--full_width)) / var(--count));
      /*     opacity: 0.1;  что это ? */
    }
  } // End li
} // End ul
 
/** Add cool filter efects **/
ul li {
  &::before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    transition: var(--sec);
  }
} // End  ul li
 
input:checked ~ ul li::before {
  width: 100%;
  transition: var(--sec);
}
 
/*li:last-child ~ */
input[type="checkbox"] {
  position: absolute;
  width: 1rem;
  padding: 0;
  margin: 0.1rem;
  right: 1rem;
  bottom: 1rem;
}
 
/** Layout fixes **/

JavaScript
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/* Текст в подписях. Сколько планируете картинок, столько и элементов массива сделайте */
let li_str = [
  {
    img: "https://dl.dropbox.com/s/mbho5bqfofk6g99/pic.jpg",
    link: `<a href="https://ya.ru" class="link">1. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>`
 
  },
  {
    img: "https://dl.dropbox.com/s/kioimintl0v9l4d/pic.jpg",
    link: `<a href="https://ya.ru" class="link">2. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>`
 
  },
  {
    img: "https://dl.dropbox.com/s/7a60gndncwf81x8/pic.jpg",
    link: `<a href="https://ya.ru" class="link">3. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>`
 
  },
  {
    img: "https://dl.dropbox.com/s/nkwuv9jz8i99309/pic.jpg",
    link: `<a href="https://ya.ru" class="link">4. Lorem ipsum dolor sit amet, consectetur adipiscing elit</a>`
  }
];
 
 
function RandomInt(min, max) {
    return Math.floor(Math.random() * (max - min) + min)
};
 
const styleElement = document.createElement('style');
styleElement.setAttribute('id', 'dynamic-style');
document.head.appendChild(styleElement);
 
function show() {
  let rootStyle = document.documentElement.style;
  let count = parseInt(document.forms.Form.input.value);
  if(count > li_str.length)
     count = li_str.length;
 
  const ul = document.getElementById('list');
  ul.innerHTML = '';
 
styleElement.innerHTML = "";
  for(let index in li_str) {
    if(index >= count) {
      count = index;
      break;
    }
     let randomColor = RandomInt(0, 36) * 10;
    let randomColor_hsla = hsla(randomColor, 100, 50, 0.8);
    let indexStyle = parseInt(index) + 1;
    
styleElement.innerHTML += `ul li:nth-child(${indexStyle}) { background: url("${li_str[index].img}") top right no-repeat; }`; 
 styleElement.innerHTML += `ul li:nth-child(${indexStyle})::before { background-color: ${randomColor_hsla}; }`; 
    
    const li = document.createElement('li');
    li.innerHTML = li_str[index].link;
    ul.appendChild(li);
  }
  
  
  rootStyle.setProperty("--count", count);
}
 
window.addEventListener("load", (event) => {
    show()
});
 
function hsla(h, s, l, a) {
  // Проверка на допустимые значения
  if (h < 0 || h > 360 ||
      s < 0 || s > 100 ||
      l < 0 || l > 100 ||
      a < 0 || a > 1) {
    return null;
  }
 
  // Преобразование значений hue, saturation и lightness в диапазон [0, 1]
  const normalizedH = h / 360;
  const normalizedS = s / 100;
  const normalizedL = l / 100;
 
  // Вычисление RGB значений
  let r, g, b;
  if (normalizedS === 0) {
    r = g = b = normalizedL;
  } else {
    const q = normalizedL < 0.5 ? normalizedL * (1 + normalizedS) : normalizedL + normalizedS - normalizedL * normalizedS;
    const p = 2 * normalizedL - q;
    r = hueToRgb(p, q, normalizedH + 1/3);
    g = hueToRgb(p, q, normalizedH);
    b = hueToRgb(p, q, normalizedH - 1/3);
  }
 
  // Округление значений RGB до целых чисел
  const red = Math.round(r * 255);
  const green = Math.round(g * 255);
  const blue = Math.round(b * 255);
 
  // Возвращение строки в формате rgba()
  return `rgba(${red},${green},${blue},${a})`;
}
 
function hueToRgb(p, q, t) {
  if (t < 0) t += 1;
  if (t > 1) t -= 1;
  if (t < 1/6) return p + (q - p) * 6 * t;
  if (t < 1/2) return q;
  if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;
  return p;
}
0
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 04:39  [ТС]
вот я перенес CSS Accordion-@emoreno911-3 -- что-то тормозит
пока CSS Accordion-@emoreno911-2 -- лучший вариант

ссылки rr33rr сделал , при нем все работало

я понял, вы и скрипт перекопали, текст и картинки вместе теперь. Понятно, переменных меньше , это правильно
Большая работа -- Вы сделали перевод из HSLA в RGB , в равном 5 соотношении -- вещь полезная , для этой темы "HSLA в RGB" и форума.

Я столкнулся с тем, что недавно вроде как

CSS
1
&:nth-child(1)::before {background-color: hsla(var(--color1), 100%, 50%, $alpha) }
---- работало, сам видел , клянусь !
а сегодня простое --color1: 100; -- уже не подходит. Да какая ей разница ?

CSS
1
&:nth-child(1)::before {background-color: hsla($color1, 100%, 50%, $alpha) }
-- работает только через SASS. Может, они вместе не хотят.
Прочитал, что нельзя сформировать имя $color1 и передать из JS, так как это SASS.
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 04:53
Лучший ответ Сообщение было отмечено seregadushka как решение

Решение

https://codepen.io/okkdgg/pen/gOErByB

Можно попробовать вынести из цикла добавление

JavaScript
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
function show() {
  let count = parseInt(document.forms.Form.input.value);
  if(count > li_str.length)
     count = li_str.length;
 
  let innerHTML_ul = "";
  let innerHTML_styleElement = "";
 
  for (let index = 0; index < count && index < li_str.length; index++) {
    const randomColor = RandomInt(0, 36) * 10;
    const randomColor_hsla = hsla(randomColor, 100, 50, 0.8);
    const indexStyle = index + 1;
 
    innerHTML_styleElement += `ul li:nth-child(${indexStyle}) { background: url("${li_str[index].img}") top right no-repeat; }`;
    innerHTML_styleElement += `ul li:nth-child(${indexStyle})::before { background-color: ${randomColor_hsla}; }`;
 
    const li = document.createElement('li');
    li.innerHTML = li_str[index].link;
    innerHTML_ul += li.outerHTML;
  }
  
  styleElement.innerHTML = innerHTML_styleElement;
  
  document.getElementById('list').innerHTML = innerHTML_ul;
  document.documentElement.style.setProperty("--count", count);
}
1
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 05:04  [ТС]
Именч, ну отлично , есть возмжность сделать 1 картину видимой по умолчанию ? Или она по стопке идет снизу ? Последняя посто не красиво, но не критично

Добавлено через 3 минуты
все-таки вы добили из HSLA в RGB -- это лишнее, и сложное слишком -- в RGB какие от цвета ядовитые. А где же alpha ? Где ее искать ?

Добавлено через 1 минуту
ядовитые цвета тоже интересно. Что там за формула ?

Добавлено через 2 минуты
альфу нашел -- const randomColor_hsla = hsla(randomColor, 100, 50, 0.8);
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 05:08
Так вот. Функция hsla которая на js генерирует rgba полностью соответствует спецификацией hsla из SCSS, которая тоже генерирует rgba для конечного css. Если у вас есть придирки к работе моей функции hsla то у вас они должны быть и к hsla из SCSS
0
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 05:42  [ТС]
странность, какая то ,я хотя я понимаю, что ответа не будет -- я пеерноношу по секциям -- картины есть , фильтров нет

Добавлено через 2 минуты
Цитата Сообщение от Именч Посмотреть сообщение
Так вот. Функция hsla которая на js генерирует rgba полностью соответствует спецификацией hsla из SCSS, которая тоже генерирует rgba для конечного css. Если у вас есть придирки к работе моей функции hsla то у вас они должны быть и к hsla из SCSS
Именч, какие придирки, источников в инете навалом, вся путаница с этими CSS, SASS, LESS , которых я только вчера услышал. Пишут JS видит только CSS, к остальногму слеп. Где-то пишуn, что SASS -- это новые возможности, где-то что это ограничено само в себе.

Вы замечатете ,что посленние картинки перескакивают на 2 ряд. Они и раньше пересккивали . Как сдеать их просто во весь экран, без зазоров по бокам

как ограничиться цветами до сюда ?
JavaScript
1
2
3
    const randomColor = RandomInt(0, 36) * 10;
    const randomColor_hsla = hsla(randomColor, 100, 50, 0.8);
    const indexStyle = index + 1;
randomColor, -- выполняет все, что от нее требуется

там слева в HTML <div class="wrap"> -- он за ширину отовечает, но не используется.

Добавлено через 8 минут
перескакивает -- это точно display: flex; , которого здесь нет

Добавлено через 8 минут
нашел Ваши менюшки с эффектами, ничем не хуже, и тоже чистый CSS
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 05:48
Могу предложить такое

https://codepen.io/okkdgg/pen/BabKGze

Добавлено через 3 минуты
Из него должна быть понятна логика переключения, и так далее. Думаю не составит труда доработать
0
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 07:27  [ТС]
Именч, но там же нет фильтров, у новых ограниченная ширина, нет выбора числа пунктов. Это менюшки немного другого типа. Менюшики не плохие , представьте, если пунктов около 20.
Я тоже не понимаю, чего они пеерскакивают . Недавно что-то тренировался, так половна картинок была в отрицательных значениях (слева), спокойно уезжали, еще попробуй понять, где они.Так пусть уезжают вправо, за экран, но не перескаиквают.

Добавлено через 41 минуту
я перенес просто в блокнот, и на другой Codepen --- результат одинаковый -- галка фильтров есть, фильтров нет. При копировании что-то теряется. В инетете много таких проблем -- с Codepen. Я уже сталквался. Могу показать страницу, которая работает только на Кодепен, и там отсутствует 1 строка, в скриптах module=" ... " .
Видать , Codepen свои сервера заточены по другому. Работают и без модуле.
Для кого-то это элементарно , я еле нашел совет

Добавлено через 2 минуты
Вам благодарен, не знаю, вроде близко до конца, но эти пробемы непонятные.

Добавлено через 3 минуты
может , поставить ширину
HTML5
1
<div class="wrap" style="width: 150vw; " >
Это больше окна браузера

Добавлено через 14 минут
там какая то ошибка у автора. Второй ряд появляется всегда, если уходить вверх или вниз с любой картинки.
В момент возврата, все быстро, возмежно, это именно текст выпихивает соседнюю картинку вниз , может ,с много точием связано. Многоточие можно убрать

Добавлено через 7 минут
нет, всегда выскакивает посленяя ккартинка. По цветам удобно смотреть
Выскакивает вниз , когда до правого края меньше ширины одной картики, 600рх.
Если до правого края справа от HOVER 3 картинки, и меньше 600рх, соскочат вниз эти 3 картинки. Я не знаю, какое тут позиционирование надо , чтобы экран просто обрезал содержимое. За границу экрана почти работает, если поставить 300vw . Там прокрутка появляется длинная.

Странно, есть много страниц товаров, где лента товаров спокойно уезжает в любую сторону за экран.

Добавлено через 23 минуты
Именч, у вас масштаб сделан без scale , через
CSS
1
2
min-width: 100%;
min-height: 100%;
не встречал, как вариант.
0
35 / 3 / 0
Регистрация: 22.08.2011
Сообщений: 172
08.01.2024, 14:53  [ТС]
Именч, я посмотрел в мобильном, самое грустное все последние варианты просто не учитывают экран телефона. Растягиваются далеко да пределы. Пользоваться ими не возможно.
У автора
https://codepen.io/emoreno911/pen/dOveoY
Все нормально с шириной, и легко вылазит за экран, не соскакивает

Добавлено через 11 минут
А, нет, это скорее сам Кодепен , не учитывает экран, и браузер. Я на Вивальди смотрю , это почти Хром.
Интересовался, этим на их вива-форуме. Оказывается, это огромная проблема.
И только Опера умеет масштабировать страницу под экран. Все запатентовала и никому не отдает.
Только Опера видит ширину страницы на мобильных.
Это точно жесть, 24 год на дворе, а тут масштаб экрана. Жаль, что Apple сенсорные экраны запатентовала. Сейчас бы все ходили с iPhone4, и копили на 5 .
Вижу, я свой пример запорол, это связано с переменными в цвете фильтров, на $сolor1 все работало

Добавлено через 16 минут
Да, 9 строка, это все переменные с $ в начале. - Когда этот $ не определен, он подвешивает весь результат. И этот Кодепен не интересует, что там 10 строк, все одинаковые, и без ошибки, виси т все.
Я так и не понял, как этот HSLA() перевести на чистые var(—...), может она без $ или нет
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
08.01.2024, 16:51
Цитата Сообщение от seregadushka Посмотреть сообщение
Это точно жесть, 24 год на дворе, а тут масштаб экрана
Да, адаптацию надо уметь делать ещё.

Цитата Сообщение от seregadushka Посмотреть сообщение
Я так и не понял, как этот HSLA() перевести на чистые var(—...), может она без $ или нет
Не может. Она требует inline переменные для конвертирования HSLA в формулу rgba
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2024, 16:51

Адаптивное меню. Глюк в виде выделения пунктов меню
Описание проблемы.. Есть меню. При &quot;собранном&quot; состоянии, когда несколько раз нажать кнопку &quot;открыть -закрыть&quot; - выделяются...

Модуль меню аккордеон для двух и более меню
Скачал хороший модуль меню для joomla3, только хочется использовать его не только для главного меню, но, например, и для бокового на одной...

Меню-аккордеон
Добрый день Ув. пользователи форума. Возникла проблема с блоками меню, решил воспользоваться jQuery. Неполучается сделать скрытие фона...

меню-аккордеон
Здравствуйте, есть код меню типа аккордеон. Как сделать, чтоб оно не схлопывалось при щелчке. &lt;ul id=&quot;nav&quot;&gt; ...

Меню аккордеон
Это код меню аккордеона &lt;script type=&quot;text/javascript&quot;&gt; $(document).ready(function() { // Хранение переменных var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru