Создать ответ 
Построение дерева иерархии или дерева комментариев
Автор Сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #281
RE: Построение дерева иерархии или дерева комментариев
Здравствуйте, посмотрел код и есть <div class="sp_comm_body"> на странице и 2 скрытых комментария, т.е. проблема в js коде, как понимаю.

Строчка из кода 1 скрытого комментария:

407)">Ответить</div><div style="clear:both;"></div></div></div><div style="padding:5px 10px 0;"><div class="comm_head" id="m408"><div style="float:left;"><b>Михаил</b></div><div class="comm_minus" title="Плохой комментарий"></div><div style="float:right; width:30px; margin-top: 1px; cursor: default;" id="rating_comm408"> <b>0</b></div><div class="comm_plus" title="Хороший комментарий"></div><a style="float:right; width:60px; color:#525252;" href="info-1#m408"># 408</a><div style="float:right; width:140px; white-space:pre;">(10:39:13 01.06.2015 г.)</div><div style="clear:both;"></div></div><div class="comm_body"><div style="word-wrap:break-word;">Не работает !</div><div class="open_hint" title="Ответить на сообщение" onClick="comm_on(408,

В данный момент "Показать/скрыть остальные комментарии" прямо над формой
[Изображение: tid_135_comm_forma.png]

P.S.: C днем защиты детей! Если убираю скрипт, то футер не обрезается и ссылка "Наверх" не съезжает вниз, т.е. все нормально (думаю, тут можно поправить стилями). Писал об этом и имеется скрин в предыдущем сообщении, хотя понимаю, что нечего ломаться, но "ломается".

Заранее благодарен.
(Последний раз сообщение было отредактировано 01.06.2015 в 11:17:33, отредактировал пользователь ale10ey.)
01.06.2015 11:00:26
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #282
RE: Построение дерева иерархии или дерева комментариев
Могу только посоветовать поместить данный JS код внутрь $(document).ready(function(){ ... :
Код:
$(document).ready(function(){
    $('.sp_comm_links').click(function(){
        $('.sp_comm_body').slideToggle(1000);
    });
});
01.06.2015 21:33:49
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #283
RE: Построение дерева иерархии или дерева комментариев
Работает !Happy Yes,но футер обрезается и ссылка "Наверх" в самом низу.

Может быть проблема, что нет тега <div> в коде:

if ($up!=0 and count($tag[$up])-1!=$i) $mass[$level]=1;
else $mass[$level]=0;

if ($this_comm==10) {
for ($k=0; $k<$level; $k++) echo '</div>';
echo '<div class="sp_comm_links">Показать/скрыть остальные комментарии</div><div class="sp_comm_body"><div>';
for ($k=1; $k<$level; $k++) {
if ($mass[$k]==1) echo '<div style="border-left:2px solid #000;padding:5px 0 0 '.($left-2).'px;">';
else echo '<div style="padding:5px 0 0 '.$left.'px;">';
}
}
if (isset($tag[ $tag[$up][$i][0] ])) $level++;
$this_comm++;

Нет открывающего тега, сам пока разбираюсь со стилями.
01.06.2015 22:05:04
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #284
RE: Построение дерева иерархии или дерева комментариев
Это тег нужен чтобы "оборвать" цепочку комментариев в зависимости от вложенности данного комментария.

Я проверял скрипт так: поместил комментарии внутрь контейнера DIV с рамкой и обрезал комментарии в разных местах. Внешняя рамка нарушена не была - значит норм.
01.06.2015 22:42:20
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #285
RE: Построение дерева иерархии или дерева комментариев
Здравствуйте, у меня код:
Код:
<?php include $_SERVER['DOCUMENT_ROOT']."/php/comment_db.php"; ?>

подключен до футера и ссылки "Назад" на html странице.
Попробовал данный код разместить ниже и футер и ссылка встали нормально, но стоит данный код разместить выше, то футер, где ширина 100% обрезается до ширины 800px (ширина контейнера страницы, сама статья + ссылка "Назад" + форма отправки комментариев), не могу разобраться пока почему так происходит Scratch...
01.06.2015 23:04:41
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #286
RE: Построение дерева иерархии или дерева комментариев
Ну так попробуйте в конец comment_db.php добавить </div>. Видать где-то потеряли.
01.06.2015 23:18:06
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #287
RE: Построение дерева иерархии или дерева комментариев
Вам респект Ok, а мне надо быть внимательней.
И еще один момент, чтобы закрыть вопрос.
У меня в данный момент ссылка "Показать/скрыть остальные комментарии", а я хотел бы чтобы была ссылка Показать, а после клика и показа скрытых комментариев, в самом низу, где последний комментарий ссылка "Свернуть", если 2 или 5 скрытых комментария, то ничего, а если их 20, то неудобно.

Например, для показа оценки у меня так:

Код:
if ($sum<0) echo '<div class="comm_text">';
    else echo '<div style="word-wrap:break-word;">';
    echo str_replace("<br />","<br>",nl2br($tag[$up][$i][1])).'</div>';
if ($sum<0) echo '<u class="sp_link">Показать</u>';

и js код:
//Показать скрытое под спойлером сообщение
Код:
$(document).ready(function(){
    $(".sp_link").click(function(){
if ($(this).text()=='Показать') $(this).text('Скрыть');
    else $(this).text('Показать');        
    $(this).parent().children(".comm_text").toggle("normal");
return false;    
});
});

Спасибо вам за подсказку еще раз Yes и заранее благодарен.

P.S: Не могли бы вы еще подсказать, как ссылку для показа комментариев разместить внизу формы,а то в данный момент она у меня над формой добавления комментариев. Изменить нужно только css ?
(Последний раз сообщение было отредактировано 02.06.2015 в 00:14:20, отредактировал пользователь ale10ey.)
01.06.2015 23:36:46
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #288
RE: Построение дерева иерархии или дерева комментариев
Так все-таки ссылка для показа/скрытия комментариев должна быть вверху или внизу? И надо ли их разделять?

На данный момент <div class="sp_comm_links">Показать/скрыть остальные комментарии</div> можно перенести в любое место и скрипт будет работать.
02.06.2015 22:03:01
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #289
RE: Построение дерева иерархии или дерева комментариев
Доброе время суток,
Есть 2 варианта.

1. После клика на ссылку для показа/скрытия комментариев (будет только ссылка "Показать комментарии"), скрытые комментарии появятся и ссылка "Показать комментарии" сменится на ссылку "Свернуть комментарии". Разделять тут не надо.

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

В любом случае буду благодарен.
03.06.2015 00:39:32
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #290
RE: Построение дерева иерархии или дерева комментариев
Сделал что-то среднее. Big Grin
По клику по ссылке "Показать комментарии", она меняется на "Свернуть комментарии". Так же после последнего комментария появляется ссылка "Свернуть комментарии".
При клике по любой из ссылок "Свернуть комментарии", комментарии сворачиваются, нижняя ссылка пропадает, а верхняя меняется на "Показать комментарии".

Изменения кода минимальны...

Код:
if ($number>10) echo '</div>';

меняем на

Код:
if ($number>10) echo '<div class="sp_comm_links">Показать комментарии</div></div>';

А JavaScript код:
Код:
$('.sp_comm_links').click(function(){$('.sp_comm_body').slideToggle(1000);});​

на такой:
Код:
$('.sp_comm_links').click(function(){
    if ($(this).text()!='Свернуть комментарии') $('.sp_comm_links').text('Свернуть комментарии');
    else $('.sp_comm_links').text('Показать комментарии');
    $('.sp_comm_body').slideToggle(1000);
});
03.06.2015 22:43:17
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru