Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для anamnado
23 / 30 / 4
Регистрация: 08.12.2019
Сообщений: 221

Динамическое изменение свойств объекта

05.03.2020, 05:05. Показов 1350. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть код
по клику на кнопку открывается выпадающее меню
css
CSS
1
2
3
4
5
6
7
8
9
10
11
12
.sub-menu { 
padding:5px 0 5px -20px;
display: none;
margin:10px 0 0 -40px;
 
} 
.main-item:focus ~ .sub-menu, 
.main-item:active ~ .sub-menu, 
.sub-menu:hover 
{ 
display: block; 
}
html
HTML5
1
2
3
4
5
6
7
8
<div id="topmenu" >
<a class="main-item forbatton" href="#" tabindex="1" >Menu</a> &nbsp; 
<ul class="sub-menu"> 
<li><a href="">title="">Меню 1</a></li>
<li><a href="" title="">Меню 2</a></li>
<li><a href="" title="">Меню 3</a></li> 
</ul> 
</div><!-- topmenu -->
этот код отлично работает

но мне нужно чтобы меню открывалось так же по клику другой кнопки расположенной в другом месте

я добавляю код

html
HTML5
1
<a class="new" href="#">Открыть</a>
css
CSS
1
2
3
4
5
.new:active ~ .sub-menu,
.new:focus ~ .sub-menu, 
{ 
display: block; 
}
Но никакой реакции..
где ошибаюсь ?

Добавлено через 32 минуты
вопрос актуален и возможно дополнительный если первое не получится

реализовал вот так

HTML5
1
<a id="sub" class="new" onclick="startFunction()"  href="#">Открыть</a>
JavaScript
1
2
3
4
5
6
<script language="JavaScript">
function startFunction() {
var elem = document.getElementById("sub");
elem.style.display = "block";
}
</script>
у меня почему никогда не работает поиск по классу , только по id ... (не важно)
- меню открывается отлично - но оно не закрывается
[как при таком способе реализовать закрытие меню - если пользователь решил отменить.. (не кликать)]

примечание: ну при запасе держу вариант - в пункте меню сделать кнопочку "закрыть" - и опять через JS ...elem.style.display = "none";
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2020, 05:05
Ответы с готовыми решениями:

Удвоение числовых свойств объекта
function multiplyNumeric(obj){ for (let key in obj){ if(typeof(obj.key) == &quot;number&quot;) { obj *= 2; ...

Вернуть кол-во свойств объекта
Вернуть кол-во свойств объекта Пример const obj = { name: 'Name', age: 11, } getCountOfProp(a) = 2

Изменение свойств таблицы
При отправки скрипт срабатывает ,но всего лишь на секунду...Дальше идет сброс на значения по умолчанию.Помогите разобраться что не так? ...

3
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
05.03.2020, 08:31
Цитата Сообщение от anamnado Посмотреть сообщение
по клику другой кнопки расположенной в другом месте ... Но никакой реакции..
Вы понимаете суть селектора .main-item:focus ~ .sub-menu?
Общий комбинатор смежных селекторов ~ разделяет два селектора и находит второй элемент только если ему предшествует первый, и они оба имеют общего родителя. Свойства будут применены ко всем элементам, указанным в правой части, следующим за элементом, указанным в левой части.
https://developer.mozilla.org/... combinator

Самое простое - по клику "другой" кнопки устанавливать фокус элементу a.main-item
HTML5
1
2
3
4
5
6
7
8
9
10
11
<div id="topmenu">
  <a class="main-item forbatton" href="#" tabindex="1">Menu</a> &nbsp;
  <ul class="sub-menu">
    <li><a href="" title="">Меню 1</a></li>
    <li><a href="" title="">Меню 2</a></li>
    <li><a href="" title="">Меню 3</a></li>
  </ul>
</div><!-- topmenu -->
<div>
  <button class="top-menu">Menu</button>
</div>
JavaScript
1
2
3
document.querySelector('.top-menu').addEventListener('click', function () {
    document.querySelector('.main-item').focus();
});
https://jsfiddle.net/j2FunOnly/q0Lb2crw/
0
 Аватар для anamnado
23 / 30 / 4
Регистрация: 08.12.2019
Сообщений: 221
05.03.2020, 08:33  [ТС]
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Вы понимаете суть селектора
я лепил чтобы вызвать хоть какую то реакцию
0
 Аватар для anamnado
23 / 30 / 4
Регистрация: 08.12.2019
Сообщений: 221
05.03.2020, 08:41  [ТС]
j2FunOnly, ды ня js я уже сделал , но хотелось бы без него
могу показать в принципе суть - как говориться лучше 1 раз увидеть
(диз сырой - тока тока делаю не ругайтеся https://anamnado.ru/)

вот кнопка в уголку - работает по js
а кнопка меню - без
какие косяки имеются
когда кликаем по кнопке в уголку перестает работать кнопка Меню ...
- Закрытые по кнопке Закрыть
[это вот тот вариант когда и так сойдет- ну если дизайн доработать, но конечно хочется как хорошо]
Миниатюры
Динамическое изменение свойств объекта  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2020, 08:41
Помогаю со студенческими работами здесь

Функция проверки объекта и возвращение значений его свойств в массив
Друзья, подскажите пожалуйста почему с первым свойством объекта работает правильно (засовывает значение свойства объекта в массив), а далее...

динамическое свойство объекта
{ $set: { 'lastTime.property': new Date().toISOString() } } Уважаемые, мне нужно lastTime сделать вот таким, что бы проперти...

Динамическое изменение свойств
Здравствуйте! Помогите разобраться с простой задачей. Необходимо изменить значение display: inline-block на block, если ширина экрана...

Не работает динамическое изменение объекта
Привет. Вот создал типа калькулятор с динамикой. А не работает. Помогите мне найти ошибку. Вот код: &lt;!DOCTYPE html&gt; ...

Динамическое изменение объекта при изменении параметров
Есть линия - тег &lt;hr&gt;, есть параметры, организованные через теги &lt;input&gt; и &lt;select&gt;, при помощи JavaScript нужно сделать так, чтобы...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru