Несколько изменений здесь:
- Добавьте jQuery источник. Добавьте этот сценарий выше вашего тега скрипта:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Примечание: похоже, что г-н Поливирл добавил это к вашему образцу.
- Использовать ID параметра в функции toggleDiv() т.е.
$("#"+id).toggle();
, если MyContent не определен в другом месте, то это будет не определено так $("#" + myContent).toggle();
вызовет ошибку.
- Чтобы содержимое было скрыто, добавьте стиль
display: none
.
- Измените имя класса fadeIn и добавьте его после переключения элемента с помощью .toggleClass().
См. Обновленный пример ниже.
Что касается отображения сообщения для первого пользователя, нам необходимо знать, что представляет собой ваша бизнес-логика для этой концепции. Можете ли вы рассказать, что такое pid (или uid, данный this list of fields in their API for posts) Значение первого пользователя, возможно, основано на данном списке сообщений в MyBB? Вы упомянули, что этот код находится в верхней части страницы: <a name="pid{$post['pid']}" id="pid{$post['pid']}"></a>
. Так что, если вы знали значение pid (например, 1337), вы могли бы условно добавить код для добавления сообщения в DOM - например.
$html = '';
if ($post['pid'] == 1337) {
$html .= '<a href="javascript:toggleDiv(\'myContent\');">';
}
//add $html to the rest of the HTML outputted to the page
function toggleDiv(id) {
$("#" + id).toggle().toggleClass('fadeIn');
}
.animated {
opacity: 0;
-webkit-transition: opacity 2s ease-in;
-moz-transition: opacity 2s ease-in;
-o-transition: opacity 2s ease-in;
-ms-transition: opacity 2s ease-in;
transition: opacity 2s ease-in;
}
.fadeIn {
opacity: 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<a href="javascript:toggleDiv('myContent');"><i style="color: #000; font-size: 13px;" class="fa fa-chevron-down fa-fw"></i></a>
<div class="animated" id="myContent" style="padding: 10px; display: none">
reveal text here
</div>
должен ли он, чтобы переключиться на мероприятие? или вы просто хотите, чтобы он исчезал при загрузке страницы? – Turk
Включить событие, но отдельно для каждого пользователя. – andreas
@andreas, что вы имеете в виду, когда говорите первого пользователя? – Ionut