Как следует из вашего JavaScript, дополнительный HTML будет загружаться динамически. В этом случае вам следует использовать делегирование событий JQuery .on('event', 'selector', handlerFunc)
для элемента-предка, а не наблюдать за DOM.
Кроме того, всегда полезно использовать событие DOMContentLoaded
, то есть сокращение JQuery $(function(){})
.
Также обратите внимание, что вы используете несколько идентичных идентификаторов, однако в спецификациях HTML говорится, что идентификатор должен быть уникальным для каждого документа. Я изменил это на class
.
// The javascript to trigger the on click:
$(function()
{
$('body').on('click', 'button.accordion', function () {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight)
{
panel.style.maxHeight = null;
} else
{
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
});
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
-webkit-transition: 0.4s;
-moz-transition: 0.4s;
-o-transition: 0.4s;
}
/* Add a background color to the button if it is clicked on (add the .active
class with JS), and when you move the mouse over it (hover) */
.active, .accordion:hover {
background-color: #ccc;
}
/* Style the accordion panel. Note: hidden by default */
.panel {
padding: 0 0px;
background-color: white;
max-height: 0;
overflow: scroll;
transition: max-height 0.2s ease-out;
-webkit-transition: max-height 0.2s ease-out;
-moz-transition: max-height 0.2s ease-out;
-o-transition: max-height 0.2s ease-out;
overflow-y: hidden
}
.accordion:after {
content: '\02795'; /* Unicode character for "plus" sign (+) */
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
margin-top: 7px;
}
.active:after {
content: "\2796"; /* Unicode character for "minus" sign (-) */
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-12 col-lg-12" id="noPadding">
<button class="accordion defaultSubtextHeader"><b>Show data</b></button>
<div id="log_data" class="panel lightGreyBackground">
<div class="col-md-12 col-lg-12" id="flowbenchTestBox">
<table border="1">
<tr>
<th class="thCenterText">Interneal Number</th>
<th class="thCenterText">Created</th>
<th class="thCenterText">Changed</th>
<th class="thCenterText">Minimum Battery Level</th>
</tr>
<tr>
<td align="center" class="minorTextPadding">Example InternalNumber</td>
<td align="center" class="minorTextPadding">Example Created</td>
<td align="center" class="minorTextPadding">Example Changed</td>
<td align="center" class="minorTextPadding">Example MinimumBatteryLevel</td>
</tr>
</table>
</div>
<div class="col-lg-12" style="height:15px;"></div>
</div>
</div>
Я веду учет всего полезного кода в офлайновой базе данных фрагмента кода.
Не регистрируйте его - централизованный репозиторий является местом только для рабочего кода, который используется в приложении.
система с меньшим количеством кода является лучшей, Ваш прокомментированный код будет бесполезен так или иначе когда (если) Вы не прокомментируете это позже. вся среда, в которой код раньше был в порядке, может быть изменена или более опасно - некоторая маленькая невидимая часть, которая шла с новой бизнес-логикой, мог бы быть изменен.
старый код является идеальной возможностью представить новые ошибки. некомментарий старого кода совпадает с программированием путем предположения (мама взгляда, это работает!), который является злым по определению.
Открытый исходный код это! Если это не будет полезно для Вас, то возможно, это будет полезно для кого-то еще.
Обычный аргумент против этого - то, что компания не платит Вам для написания бесплатного кода, но затем, у них есть Вы работающий против нестабильной архитектуры, таким образом, они не извлекают пользу из Вашего кода так или иначе.
У меня есть файл класса в копии моего проекта, в котором я продолжаю хранить полезные неиспользованные функции.
Иначе: так как мы сохраняем наш проект в репозитории SVN поэтому, когда я заменяю свою полезную функцию, у меня всегда есть функция dat в моих файлах журнала, таким образом, я могу получить доступ к нему любое время в будущем.
Так как я начал работать в своем текущем работодателе приблизительно два года назад, я создал вполне большой репозиторий служебного кода. Это делится в нескольких категориях и используется в нескольких проектах. Код, что я создаю это, мне не нужно, сразу идет туда и в спящем режиме, пока он не используется (или навсегда, какой бы ни ранее).
Мертвый код больше не сохраняется. При необходимости в нем снова, необходимо будет провести время для получения его работающий снова. Если это действительно полезно, и можно все еще помнить об этом, можно всегда добираться через управление версиями.
На работе у некоторых людей есть код, который был прокомментирован 4 года назад включающий 70% исходного файла. Просто позвольте ему Пойти
Если это - значительное количество (и обычно полезно так или иначе), почему бы не рассмотреть открытое определение источника его? Мне нравится идея переработать.
Просто сохраните его в любом коллекторе отрывка, который Вы изобрели для себя, или доступно в Вашей системе. Проблема не' так, куда поместить ее (главным образом, мы говорим о просто тексте, не так ли?), но как найти его снова. Проблема - то, как найти его снова, таким образом, своего рода метод меток/поиска должен использоваться.
Я сохраняю свои фрагменты кода в Коллекторе Кода Pro (для Mac).
Таким образом, это не находится ни в каком проекте, но я могу снова использовать его каждый раз, когда я должен.
отказ от ответственности: Я - просто удовлетворенный клиент.
Отправьте свой код на: http://snipplr.com/ http://refactormycode.com/
позвольте другим людям уровень и возможно используйте его также :)
Регистрируйте его и прокомментируйте его. По моему скромному мнению, стоимость в пространстве определенно стоит времени, которое Вы провели на разбирании в нем (и, возможно, должен потратить, снова должен ветер изменяться). Возможно, можно регистрировать его как часть файла "остатков" так, чтобы это не создавало помехи активному коду.
Удалите код. Запишите хороший комментарий регистрации, который объясняет, что Вы удалили и почему. Это должно быть достаточно ясно так, чтобы кто-то, кто мылит, работал, команда истории на том файле поймет это и может получить Вашу функцию из репозитория управления версиями.
Регистрируйте его с комментарием (в коде и регистрации) высказывание, что Вы собираетесь удалить его.
Затем удалите его и регистрация изменение сразу с комментарием регистрации, объясняющим почему.
Тем путем у Вас нет хлама в Вашей кодовой базе, но у Вас есть постоянная запись кода.
В этом случае я всегда Использую WIKI, где часть программного обеспечения описана. Хорошо маркированный подэлемент и хорошее описание к той функции делают это затем.
По-моему, не всегда полезно снова использовать эту целую функцию, но посмотреть на хороший, functionable код, который однажды имел смысл.
Неиспользованный код не полезен по определению. Всегда помните YAGNI. В 99% случаев необходимо удалить его, потому что к следующему разу могло бы быть полезно, что это, вероятно, будет быстрее, чтобы сделать это снова (Вы только провели день на него).
В редких случаях, где "здорово", что можно сохранить его в базе данных отрывка.
Я определенно удалил бы его. Можно поместить его в специальное место, что члены проекта видят, но вытаскивают его из проекта. Это делает обслуживание трудно, когда разработчики не могут выяснить, почему конкретная функция там когда то, что я был названным.
Удалите его от радости.
Код является статическим обещанием, сделанным против изменяющихся требований в динамическом мире.
Моя точка сегодня - то, что, если мы хотим считать строки кода, мы не должны рассматривать их как “линии, продолженные”, но как “потраченные строки”: текущее расхожее мнение так глупо, что заказывает, которые рассчитывают на неправильную сторону бухгалтерской книги.
Как ответ, рассмотрите этот рассказ:
Мертвый код Коллектор: Произведите ваш мертвый код.
Человек с мертвым кодом: вот тот.
Мертвый код Коллектор: это будет ninepence.
Мертвый код: я не мертвый код.
Мертвый код Коллектор: Что?
Человек с мертвым кодом:Ничего. существует Ваш ninepence.
Мертвый код: я не мертвый код.
Мертвый код Коллектор: 'До, он говорит, что он не мертвый код.
Человек с мертвым кодом: Да он.
Мертвый код: я не.
Мертвый код Коллектор: Он не.
Человек с мертвым кодом: Ну, он скоро будет, он очень болен.
Мертвый код: я - улучшение.
Человек с мертвым кодом: Нет Вы не, Вы будете каменным мертвым кодом через мгновение.
Мертвый код Коллектор: Ну, я не могу взять его как этот. Это против инструкций.
Мертвый код: Я не хочу идти на корзину.
Человек с мертвым кодом: О, не будьте таким ребенком.
Мертвый код Коллектор: Я не могу взять его.
Мертвый код: Я чувствую себя прекрасно.
Человек с мертвым кодом: О, сделайте мне одолжение.
Мертвый код Коллектор: Я не могу.
Человек с мертвым кодом: Ну, можно ли бродить вокруг в течение нескольких минут? Он не будет длинен.
Мертвый код Коллектор: Я обещал, что буду в Robinson. Они проиграли девять сегодня.
Человек с мертвым кодом: Ну, когда Ваш следующий раунд?
Мертвый код Коллектор: в четверг.
Мертвый код: Я думаю, что выйду на прогулку.
Человек с мертвым кодом: Вы не дурачите никого, Вы знаете. Нет ли ничто, что Вы могли сделать?
Мертвый код: Я чувствую себя счастливым. Я чувствую себя счастливым.
[мертвый код взгляды Коллектора вверх и вниз по улице украдкой, затем заставляет мертвый код замолчать с его сильный удар его Ctrl-X]
Человек с мертвым кодом: А-ч, большое спасибо.
Много предложений в Как удалить код , но я храню простой текстовый файл, который я сбрасываю время от времени проверенные, но неиспользуемые функции, которые могут когда-нибудь пригодиться. Я не могу полностью выбросить их, но опять же, мне никогда не приходилось возвращаться ни к одному из них.
Еще одно правило относительно таких файлов / коллекций фрагментов кода: имейте только один, в одном место.