Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Показ дочернего блока при активации checkbox (https://javascript.ru/forum/events/78558-pokaz-dochernego-bloka-pri-aktivacii-checkbox.html)

Aruta 03.10.2019 19:29

он открывается, но если размножить блок class="upsale__block__bot-wrap dflex" то работает только первый. Посмотрите ссылку http://test.vhost78896.cpsite.ru/ind...=checkout/cart

рони 03.10.2019 20:11

Aruta,
не могу помочь, проблема слабо локализована, попробуйте сократить код.
Цитата:

Сообщение от Aruta
если размножить блок

можно пример где и как расположены эти блоки, пример это 10 строк а 70! уберите всё что не имеет значения для показа проблемы.

примерно так.
<div class="upsale__block__bot-wrap dflex">
		<div class="upsale__block__bot-left"></div>
		<div class="upsale__block__sub-right-wrap">
			<div class="upsale__block__bot-right__title-wrap dflex">
				<div class="block__bot-right__title dflex">
					<input id="montage" type="checkbox" class="block__check"/>
					<label for="montage" class="block__check">
						<img id="arrow" src="http://test.vhost78896.cpsite.ru/catalog/view/theme/myown/image/arrowselect.png" alt="arrow_down"/>
						Montage of the window
					</label>
				</div>
				<div class="upsale__block__total dflex">30 000</div>
			</div>
			<div class="upsale__block__bot-right__sub-wrap dnone">
			    это блок который надо показать, добавьте второй в этот код
			</div>
		</div>
	</div>

рони 03.10.2019 20:43

Aruta,
попробуйте так ...
js
var checkON = document.querySelectorAll('input[type="checkbox"]');
	checkON.forEach(function(check) {
	check.onclick = function viewDesc(){
			var title = this.closest('.upsale__block__bot-right__title-wrap');
			var nextTitle = title.nextElementSibling;
            nextTitle.classList.toggle("dflex");
			nextTitle.classList.toggle("dnone");

		}
	});


css

.block__check:checked + label img{
        transform: scaleY(-1);
  }

Aruta 09.10.2019 07:51

Цитата:

Сообщение от рони (Сообщение 513474)
Aruta,
попробуйте так ...
js
var checkON = document.querySelectorAll('input[type="checkbox"]');
	checkON.forEach(function(check) {
	check.onclick = function viewDesc(){
			var title = this.closest('.upsale__block__bot-right__title-wrap');
			var nextTitle = title.nextElementSibling;
            nextTitle.classList.toggle("dflex");
			nextTitle.classList.toggle("dnone");

		}
	});


css

.block__check:checked + label img{
        transform: scaleY(-1);
  }

Простите, не мог ответить. оказалось проблемы не было, кроме моего незнания о браузере...

Беда была такая - если не добавлять в файле, а добавлять в браузере блоки, то не работает. Но когда мне надоело добавлять каждый раз в браузере блок и я добавил в файле его...

Оказалось что всё работает:)


Часовой пояс GMT +3, время: 08:41.