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