| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Выделение нужной ячейки при нажатии |
| Автор: DiMoN_TD 9.1.2008, 00:17 | ||
| Всем привет! Я взял за основу календарь по этой ссылке http://www.softtime.ru/scripts/calendar.php
Вот, я собственно из каждой цифры сделал ссылочку методом GET (нужно для показа архива за определённый день)... Вот... но хочется так, чтобы в календаре отображалась та ячейка (т.е. как-то подсвечивалась), на которую я кликнул... т.е. грубо говоря нужно сделать так, чтобы отображался день (в самом календаре), за который я просматриваю архив... Можно ли это сделать с помощью JS или всё ж таки придётся мучаться с php??? Заранее спасибо! |
| Автор: ksnk 9.1.2008, 09:43 |
| Если используются ссылки, то в адресной строке получится тот-же адрес, что и в какой-то из них. Скриптом пробежаться по всем ссылкам и пометить ту, что надо. |
| Автор: solenko 9.1.2008, 12:22 |
| Мучатся в данном случае это как раз о JS реализации. Мне кажется, намного проще как раз вписать класс еще на стороне сервера. И проще и логичней. |
| Автор: ksnk 9.1.2008, 12:33 |
| solenko, Может быть, если не использовать якори в адресе перехода. Иначе - только Javascript'ом... |
| Автор: DiMoN_TD 9.1.2008, 14:04 |
| Я та на самом деле ещё неопытный программист, и потому всё что вы тут наговорили, мне ни о чём практически не говорит... |
| Автор: solenko 9.1.2008, 14:17 | ||
Если у вас, например, в $_GET['day'] номер дня то
|
| Автор: ksnk 9.1.2008, 15:22 |
| DiMoN_TD, чтобы вывести что-то действительно полезное "неопытному программисту", нужно привести реальный код, со "ссылочкой методом GET". Иначе мы с тут с solenko, будем воображать себе каждый чего-то свое... ;-) |
| Автор: DiMoN_TD 9.1.2008, 15:26 |
| solenko, Хм.. на самом деле это я и сам знал, но этот метод мне немного не подходит, потому что там нужно будет делать проверку на то, есть ли эта переменная, потому как календарь у меня отображается на всех страницах.... потому дофига кода получается... вот и хотелось какую-нить функцию на JS, которая бы меняла класс выбранного дня |
| Автор: solenko 9.1.2008, 15:36 |
| DiMoN_TD, ну уж простите, телепатия отключена ( 1. вынесете календарь в отдельный файл, который будет проверять и инклюдте его откуда нужно 2. В данном случае проверку можно свести к, например, echo "<td ".($week[$i][$j] == @$_GET['day']?"class=\"selected\"":"")."><font color=red>".$week[$i][$j]."</font></td>"; на js: 1. Анализируете url страницы (объект location) 2. Находите таблицу календаря и пробегаетесь по ячейкам (DOM Table) 3. находите для каждой ячейки последнего ребенка, т.е. имеено номер дня а не объект font и сравниваете с полученным из url значением. 4. Если да, то присваиваете ячейке css класс (className) Добавлено через 2 минуты и 35 секунд Повторюсь -- этот вопрос стоит решать на стороне клиента только если вы подгружаете данные AJAX'ом или, как указал ksnk, если на странице информация за несколько дней и вы используете якоря. |