• Страница 1 из 1
  • 1
Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Как сделать... Тема только по сайтам в системе uCoz » Дополнительная информация на форуме, как скрыть? (Частичное и полное скрытие блока на форуме. JavaScript)
Дополнительная информация на форуме, как скрыть?
Дата: Воскресенье, 25.03.2012, 00:05 |
Группа: Гости





Здравствуйте, likbezz, думаю, поймёте кто я, вспоминая некоторые посты на форуме юкоза. happy
Вообщем, приплелась сюда чтоб прояснить некоторые для себя вопросы, а конкретно - два.

1.
Облазила весь интернет в поисках правильного решения по "скрывании" таблицы "Дополнительная информация" в подвале форума, и встречающийся всюду скрипт:

Code
<script type="text/javascript">
      jQuery(document).ready(function() {
          jQuery('.gTable:last').find("tr:eq(1), tr:eq(2)").hide();
      });
</script>


- скрывал как раз то, что нужно (именно графы посетителей, рекорд посещения и тому подобное), оставляя в неприкосновенности "форумную статистику". Но вот незадача, этот скрипт валил заодно и поле ввода сообщения со смайлами во всём форуме, да превращал создание темы в свистопляску. Но именно у вас на сайте отыскала скрипт, который работает без побочных эффектов, но он удаляет всю таблицу "Дополнительная информация".

Code
<?if($PAGE_ID$='main')?>
<script type="text/javascript">
$(document).ready(function(){
/*Start DocumentReady*/
$("table.gTable td.gTableTop:contains('Additional information')").parents('table.gTable').remove();
/*End DocumentReady*/
});
</script>
<?endif?>


Так вот вопрос, - что нужно дописать в вашем скрипте чтоб он удалял лишь графу - посетители, со всеми этими рекордами и "сидящими в данный момент на сайте", но оставлял графу форумной статистики. Или куда именно нужно прописать вышеупомянутый код Кьюери, чтоб он работал как положено и не крушил того, что не нужно?

http://s019.radikal.ru/i609/1203/2a/aa981bc3c7dc.jpg

2.
Уже описывала эту проблему на форуме юкоза, но спрошу о ней всё же лично вас.

Каким образом можно поменять порядок расположения таблиц, чтоб шло не "Threads" "Replies" "Updates", a "Updates" "Threads" "Replies". Другими словами, запихнуть счётчик постов и тем направо.

http://forum.ucoz.ru/_fr/337/5316940.png

Мне подсказали что чистым явасркиптом (что я пыталась)) не очень и покатит всё это провернуть.
Разве что через " append() , remove() , each() ".
Поэтому мой вопрос к вам незамысловат - сложно ли это? Есть шансы на получение результата без нескончаемых мытарств?

За сим, ожидаю любого вашего комментария happy

mlada


 
Дата: Воскресенье, 25.03.2012, 00:22 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


mlada,
Quote (mlada)
Так вот вопрос, - что нужно дописать в вашем скрипте чтоб он удалял лишь графу - посетители, со всеми этими рекордами и

Code
<?if($PAGE_ID$='main')?>
<script type="text/javascript">
$(document).ready(function(){
/*Start DocumentReady*/
$("table.gTable td.gTableTop:contains('Additional information')").parents('table.gTable').find('tr:eq(1),tr:eq(2)').remove();
/*End DocumentReady*/
});
</script>
<?endif?>

...

Quote (mlada)
Поэтому мой вопрос к вам незамысловат - сложно ли это?

Скажем так, не очень просто )
Quote (mlada)
Есть шансы на получение результата без нескончаемых мытарств?

Да, возможно.

Quote (mlada)
Каким образом можно поменять порядок расположения таблиц, чтоб шло не "Threads" "Replies" "Updates", a "Updates" "Threads" "Replies". Другими словами, запихнуть счётчик постов и тем направо.

Ссылку на форум, даже нет, на конкретную страницу, где это нужно провернуть.
...


 
Дата: Воскресенье, 25.03.2012, 00:22 |
Группа: Гости





likbezz, Громаднюйщее спасибо вам. Вот как же не додумалось прописать .find('tr:eq(1),tr:eq(2)') без изменений в вашем скрипте. Всё поизобретательней эксперементировалось, а решение на поверку - так элегантно happy

Quote
Скажем так, не очень просто )

Тогда иду ва-банк, и удаляю их насовсем (ну а к чему они по сути?)

Code
<script type="text/javascript">  
var td = document.getElementsByTagName('td');  
for(var i=0; i<td.length; i++){  
if(td[i].className=='gTableSubTop'&& td[i].innerHTML=='Threads') td[i].style.display='none' ;
if(td[i].className=='gTableSubTop'&& td[i].innerHTML=='Replies') td[i].style.display='none' ;
}  
</script>

<script type="text/javascript">  
var td = document.getElementsByTagName('td');  
for(var i=0; i<td.length; i++){  
if(td[i].className=='forumThreadTd') td[i].style.display='none';
if(td[i].className=='forumPostTd') td[i].style.display='none';
}  
</script>


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

http://s019.radikal.ru/i600/1203/bb/3c58a9aa788c.jpg

Пропадают два пикселя справа, хотя в опере, мозиле и ие - всё ровно и гладко. Означает, этот скрипт "бажится" на гуглхроме?

Добавлено (25.03.2012, 00:45)
---------------------------------------------
Прошу прощения, ваше сообщения не успела приметить)
Перемещайте, а это удаляйте.

 
Дата: Воскресенье, 25.03.2012, 00:22 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Quote (mlada)
Эти два скриптика прячут "Threads" и "Replies", и вроде как всё здорово, только вот в гугл хроме, через который я и работаю, эти действия оказывают странное влияние на ширину контейнера.

Ссылку на страницу форума, где этот скрипт должен работать.


 
Дата: Воскресенье, 25.03.2012, 01:05 |
mlada
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


http://nordberg.do.am/forum/
Хватайте :3

Только за сердце в шоке не хватайтесь. Сайт весьма далёк от завершения)


Сообщение отредактировал mlada - Воскресенье, 25.03.2012, 01:07
 
Дата: Воскресенье, 25.03.2012, 01:33 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


mlada,
Quote (mlada)
Хватайте :3

Просто удалить:
В шаблоне «Форум, общий вид» заменяем $BODY$ на:
Code
<div id="forumContent">$BODY$</div>

...
После него ставим скрипт:
Code
<?if($PAGE_ID$='main')?>
<script type="text/javascript">
$('#forumContent table.gTable td').each(function(){
if(/(Threads|Replies)/.test($(this).text())||/(forumThreadTd|forumPostTd)/.test(this.className)){
     $(this).parents().find('td.gTableTop').attr('colspan','5');
     $(this).remove();
};
});
</script>
<?endif?>

...

Старые скрипты удаляем ...
...

Перемешать - порядок произвольный, в смысле - не особо выбирал, просто переставил Updates вперёд:
Code
<?if($PAGE_ID$='main')?>  
<script type="text/javascript">
$('#forumContent table.gTable tr').each(function(){
$('td.gTableSubTop:eq(4)',$(this)).after($('td.gTableSubTop:eq(2)',$(this)),$('td.gTableSubTop:eq(3)',$(this)));
$('td.forumLastPostTd',$(this)).after($('td.forumThreadTd',$(this)),$('td.forumPostTd',$(this)));
});
</script>
<?endif?>



...

Прикрепления: 5477982.png (47.6 Kb)

 
Дата: Воскресенье, 25.03.2012, 02:19 |
mlada
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


likbezz, Удаляю старые скрипты, заменяю $BODY$, но результат тот же. Уже эксперементирую по разному, но разница и не думает появляться.
Причём в других браузерах по прежнему нормально. Может дело всё же в гуглхроме?

Добавлено (25.03.2012, 02:19)
---------------------------------------------
Ох, вы гений happy

 
Дата: Воскресенье, 25.03.2012, 02:20 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


mlada,
Quote (mlada)
Может дело всё же в гуглхроме?

Сейчас посмотрю что у вас... Из под гугла говорите, какая версия?
...
Честно говоря, не очень вижу вашу проблему...
Отметьте на скриншоте нужное ...
Скриншот:
http://s019.radikal.ru/i623/1203/56/530ab944de2b.png
Gogle v13 ... с чем-то ...


 
Дата: Воскресенье, 25.03.2012, 02:22 |
mlada
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


Благодарю же)
Но скажите, картинки на фонах разделов действительно так смотрятся у вас, или это издержки джипега?

Добавлено (25.03.2012, 02:21)
---------------------------------------------
Quote (likbezz)
Из под гугла говорите, какая версия?

Последняя. Он ведь сам обновляется автоматом.

Добавлено (25.03.2012, 02:22)
---------------------------------------------
Да нет, уже всё в порядке. проблема двух пикселей проявлялась когда "Thread" "Replies" совсем убирали.


Прикрепления: 9099206.jpg (108.4 Kb)

Сообщение отредактировал mlada - Воскресенье, 25.03.2012, 02:25
 
Дата: Воскресенье, 25.03.2012, 02:24 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


mlada,
Quote (mlada)
Но скажите, картинки на фонах разделов действительно так смотрятся у вас, или это издержки джипега?

Нет, это пережатый pnp8 в 32-х цветной палитре )))
На самом деле нормально - полноценный скрин выше.
...
Quote (mlada)
Он ведь сам обновляется автоматом.

У кого как - я запретил автоматическое обновление ... ) - нужны старые версии для разработки.
Новые тоже есть.
...


 
Дата: Воскресенье, 25.03.2012, 02:28 |
mlada
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


likbezz, Ещё одна порция благодарностей вам за классно завершённый день. Полная счастьем отправляюсь спать happy

 
Дата: Воскресенье, 09.12.2012, 10:58 |
Полковник
Группа: Помощники
Сообщений: 210
Награды: 0
Репутация: 11
Статус: Offline


likbezz, а вот такой вопрос, как правильно сменить там же фон у класса gTable и gTableTop? Я сделал так
Code
$("table.gTable td.gTableTop:contains('Дополнительная')").parents('table.gTable').css({backgroundColor:"black"});
$("table.gTable td.gTableTop:contains('Дополнительная')").css({backgroundColor:"black"});
работает, правильно хоть? Вот только из документации, я не совсем понял для чего все же
Code
$(document).ready(function()
Нужно ли его использовать мне? Помимо этого у меня вставлены другие скрипты на jQuery.

Добавлено (09.12.2012, 10:58)
---------------------------------------------
А, понял на счет

Code
$(document).ready(function()
увидел эту http://likbezz.ru/forum/60-368-1 тему.


 
Дата: Воскресенье, 09.12.2012, 11:16 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Komoff,
$(document).ready(function()
Нужно ли его использовать мне?

Запомнить нужно только одно, сначала идет код (html), а потом уже скрипт который работает с этим кодом (html).
То бишь, если ты вставишь этот скрипт выше самой таблице, без $(document).ready(function() - скрипт не сработает, так как на момент инициализации скрипта, таблицы еще не будет, а вот если с $(document).ready(function() то скрипт подождет, пока таблица отрисуется браузером и только после этого будет работать.

Логика проста.
Скрипт всегда должен быть после того элемента (элементов) к которым применяется.
Документ реди следит за этим, то бишь ждет пока документ (то есть сам html код) будет готов к обработке скриптом. и только после этого запускает скрипт.

Нужно ли его использовать мне?

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


 
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Как сделать... Тема только по сайтам в системе uCoz » Дополнительная информация на форуме, как скрыть? (Частичное и полное скрытие блока на форуме. JavaScript)
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия