Intereting Posts
Чтение многострочных строк из базы данных на Yii Framework Когда следует использовать скобки в операторах require / include? Неустранимая ошибка: использование $ this, если не в контексте контекста объяснения? Прочитайте огромные текстовые файлы и сохраните каждую строку в базе данных Предупреждение «Доступ к ресурсу еще не разрешено» при использовании подготовленного оператора Как проверить, является ли текущая страница плагиновой панель администратора в wordpress Функция обратного вызова входа FB не отвечает, если пользователь уже зарегистрирован в facebook Обновить все строки в базе данных с хэш-значением проблема с добавлением корневого пути с использованием php domdocument Насколько точны GeoIP и $ _SERVER ? Как получить тренд facebook относительно страны? PHP Oauth signature_invalid Проблемы с загрузкой cURL как заменить специальные символы теми, на которых они основаны на PHP? PHP: переменные $ _SERVER: $ _SERVER vs $ _SERVER

Несколько переключений Почти как вкладки JavaScript / CSS

Я хочу создать вкладки, которые работают как переключатели, но вместо этого может быть активен только один переключатель. Содержимое вкладки также должно быть выше самих вкладок. Проблема в том, что я использую цикл для создания контента, а также самих вкладок.

У меня есть хороший код javascript, который работает отлично. Я это прекрасно понимаю. Единственная проблема заключается в том, что он, очевидно, не отключает другие кнопки при нажатии на другой. Также всегда активен один «вкладка» / «переключение». Код, который, вероятно, может проверить идентификатор div с префиксом «post» и сделать все div id с «post» для отображения: none кроме того, на который был нажат. Это было бы прекрасно, если бы это было возможно. Еще один способ, который я мог бы подумать об этом, – положить все сгенерированное содержимое в контейнер, и он просто отключает все идентификаторы в контейнере, кроме того, который был нажат.

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

<script type="text/javascript"> function toggleMeMirror(a){ var e=document.getElementById(a); if(!e) return true; if(e.style.display=="none"){ e.style.display="inline" } else { e.style.display="none" } return true; } </script> 

HTML / PHP

Loop 1 – Содержание

 <?php while ($queryepisodemirrors->have_posts()) : $queryepisodemirrors->the_post(); ?> <?php if(get_post_meta(get_the_ID(), 'parentIDmirror', true) == $postIDCheck) { ?> <div id="post-<?php the_ID(); ?>" style="display:none;"> <center><?php the_title(); ?><br /><br /> <?php echo get_post_meta(get_the_ID(), 'mirror_embed_code', true); ?> <?php wprp(true);?> </center> </div> <?php } ?> <?php endwhile; ?> 

Loop 2 – Фактические переключатели / вкладки

 <?php while ($queryepisodemirrors->have_posts()) : $queryepisodemirrors->the_post(); ?> <?php if(get_post_meta(get_the_ID(), 'parentIDmirror', true) == $postIDCheck) { ?> <div style="float: left; padding: 4px;"> <center> <div class="post-<?php the_ID(); ?>" onclick="return toggleMeMirror('post-<?php the_ID(); ?>')" > <div style="overflow: hidden; width: 150px; height: 100px;"> <div style="background: rgb(0, 0, 0) transparent; /* fallback color */ background: rgba(0, 0, 0, 0.8); color: white; padding: 2px;"> <center> <?php echo get_post_meta(get_the_ID(), 'video_provider', true); echo ' Mirror';?> </center> </div> <img src="<?php echo $thumbnail_src; ?>" width="150px"/> </div> </div> </center> </div> <?php } ?> <?php endwhile; ?> 

Это также помеченный jquery, поэтому я просто рекомендую вам включить библиотеку jquery и включить:

 $('.someclass').hide(); 

как первая строка в функции toggleMeMirror.

Затем убедитесь, что каждый из ваших замкнутых контуров контента существует в классе «someclass».

как:

 foreach($this as $that) { print "<div class='someclass'>$that</div>"; } 

тогда

 function toggleMeMirror(a){ // hide all $('.someclass').hide(); // show one var e=document.getElementById(a); if(!e) return true; if(e.style.display=="none"){ e.style.display="inline" } else { e.style.display="none" } return true; } 

Вы можете попробовать что-то вроде этого DEMO

Код HTML

 <div id="one"><img src='http://img.ruphp.com/php/8fb0669c-72ee-454d-a08f-9700b8a5270a.png?4' height='50px' widht='50px' ></div><br> <div id="two"><img src='http://img.ruphp.com/php/Spongebob Reading.png' height='50px' widht='50px' ></div><br> <div id="three"><img src='http://img.ruphp.com/php/Spongebob Waving.png' height='50px' widht='50px' ></div><br><br> <div id="thumb"><img src='http://img.ruphp.com/php/8fb0669c-72ee-454d-a08f-9700b8a5270a.png?4' height='200px' widht='200px' ></div> 

JQuery

 $("#one").click(function() { $("#thumb").html("<img src='http://img.ruphp.com/php/8fb0669c-72ee-454d-a08f-9700b8a5270a.png?4' height='200px' widht='200px' >"); }); $("#two").click(function() { $("#thumb").html("<img src='http://img.ruphp.com/php/Spongebob Reading.png' height='200px' widht='200px' >"); }); $("#three").click(function() { $("#thumb").html("<img src='http://img.ruphp.com/php/Spongebob Waving.png' height='200px' widht='200px' >"); });