Дополнительная информация на форуме, как скрыть?
|
|
[1] mlada [25.03.2012, 00:05] |
Здравствуйте, likbezz, думаю, поймёте кто я, вспоминая некоторые посты на форуме юкоза. Вообщем, приплелась сюда чтоб прояснить некоторые для себя вопросы, а конкретно - два.
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() ". Поэтому мой вопрос к вам незамысловат - сложно ли это? Есть шансы на получение результата без нескончаемых мытарств?
За сим, ожидаю любого вашего комментария
mlada |
|
[2] likbezz [25.03.2012, 00:22] |
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". Другими словами, запихнуть счётчик постов и тем направо. Ссылку на форум, даже нет, на конкретную страницу, где это нужно провернуть. ... |
|
[3] mlada [25.03.2012, 00:22] |
likbezz, Громаднюйщее спасибо вам. Вот как же не додумалось прописать .find('tr:eq(1),tr:eq(2)') без изменений в вашем скрипте. Всё поизобретательней эксперементировалось, а решение на поверку - так элегантно
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) --------------------------------------------- Прошу прощения, ваше сообщения не успела приметить) Перемещайте, а это удаляйте. |
|
[4] likbezz [25.03.2012, 00:22] |
Quote (mlada) Эти два скриптика прячут "Threads" и "Replies", и вроде как всё здорово, только вот в гугл хроме, через который я и работаю, эти действия оказывают странное влияние на ширину контейнера. Ссылку на страницу форума, где этот скрипт должен работать. |
|
[5] mlada [25.03.2012, 01:05] |
http://nordberg.do.am/forum/ Хватайте :3
Только за сердце в шоке не хватайтесь. Сайт весьма далёк от завершения)
Сообщение отредактировал mlada - Воскресенье, 25.03.2012, 01:07 |
|
[6] likbezz [25.03.2012, 01:33] |
mlada, Просто удалить: В шаблоне «Форум, общий вид» заменяем $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?>
...
|
|
[7] mlada [25.03.2012, 02:19] |
likbezz, Удаляю старые скрипты, заменяю $BODY$, но результат тот же. Уже эксперементирую по разному, но разница и не думает появляться. Причём в других браузерах по прежнему нормально. Может дело всё же в гуглхроме?Добавлено (25.03.2012, 02:19) --------------------------------------------- Ох, вы гений |
|
[8] likbezz [25.03.2012, 02:20] |
mlada, Quote (mlada) Может дело всё же в гуглхроме? Сейчас посмотрю что у вас... Из под гугла говорите, какая версия? ... Честно говоря, не очень вижу вашу проблему... Отметьте на скриншоте нужное ... Скриншот: http://s019.radikal.ru/i623/1203/56/530ab944de2b.png Gogle v13 ... с чем-то ... |
|
[9] mlada [25.03.2012, 02:22] |
Благодарю же) Но скажите, картинки на фонах разделов действительно так смотрятся у вас, или это издержки джипега?
Добавлено (25.03.2012, 02:21) --------------------------------------------- Quote (likbezz) Из под гугла говорите, какая версия? Последняя. Он ведь сам обновляется автоматом.
Добавлено (25.03.2012, 02:22) --------------------------------------------- Да нет, уже всё в порядке. проблема двух пикселей проявлялась когда "Thread" "Replies" совсем убирали.
Сообщение отредактировал mlada - Воскресенье, 25.03.2012, 02:25 |
|
[10] likbezz [25.03.2012, 02:24] |
mlada, Quote (mlada) Но скажите, картинки на фонах разделов действительно так смотрятся у вас, или это издержки джипега? Нет, это пережатый pnp8 в 32-х цветной палитре ))) На самом деле нормально - полноценный скрин выше. ... Quote (mlada) Он ведь сам обновляется автоматом. У кого как - я запретил автоматическое обновление ... ) - нужны старые версии для разработки. Новые тоже есть. ... |
|
[11] mlada [25.03.2012, 02:28] |
likbezz, Ещё одна порция благодарностей вам за классно завершённый день. Полная счастьем отправляюсь спать |
|
[12] Komoff [09.12.2012, 10:58] |
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 тему. |
|
[13] likbezz [09.12.2012, 11:16] |
Komoff, $(document).ready(function() Нужно ли его использовать мне? Запомнить нужно только одно, сначала идет код (html), а потом уже скрипт который работает с этим кодом (html). То бишь, если ты вставишь этот скрипт выше самой таблице, без $(document).ready(function() - скрипт не сработает, так как на момент инициализации скрипта, таблицы еще не будет, а вот если с $(document).ready(function() то скрипт подождет, пока таблица отрисуется браузером и только после этого будет работать.
Логика проста. Скрипт всегда должен быть после того элемента (элементов) к которым применяется. Документ реди следит за этим, то бишь ждет пока документ (то есть сам html код) будет готов к обработке скриптом. и только после этого запускает скрипт.
Нужно ли его использовать мне? Использовать или нет - смотреть по месту. Если скрипт уже идет по коду ниже того элемента которому предназначен, можно не использовать, ну а если выше .. то обязательно. |
|