![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Reasonsoul |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Для организации раздела "Новостей" на моем сайте, мне понадобился календарь с фукцией архива. Поэтому я скачал с определенного сайта навороченный ява календарь, размером 180 КВ, однако в нем не оказалось функции архива. И я решил написать такой календарь самостоятельно. Месяц назад, я взял книгу Девида Фленагана JavaScript - создание активных веб-страниц. Признаюсь, я не являюсь програмистом вообще, я специалист в другой науке. Вот то, что у меня получилось код моего календаря. Код размером в 20 килобайт: архив новостей, выбор даты, выделение дней праздников и комментарии к ним, а также, тем же макаром, выделение дней с новостями и комментарии к ним, очень гибкая настройка цветового оформления. Код календаря далек от совершенства. Но я надеюсь, что професионалы смогут его доработать (или взять что-то полезное), а начинающие сайто-строители - разберутся в коде, и установят его на свои произведения сайтостроительного искуства.
Это сообщение отредактировал(а) Reasonsoul - 31.8.2009, 18:38 |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Он отображается только в Internet Explorer и Opera, Google Chrom и Firefox зацикливаются.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Reasonsoul |
|
||||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Да, да, Я уже знаю и работаю над этим.... Проблема вот тут:
Эта часть кода, должна устанавливать в списке select текущие месяц и год по умолчанию... В firefox оно не работает...почему - пока непонятно....??? Если кто знает такую проблему, подскажите как ее решить? |
||||
|
|||||
diadiavova |
|
||||||||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Просмотрел часть скрипта и возьму на себя наглость слегка прокомментировать то, что успел увидеть.
HTML код по всей видимости создавался в каком-то старом редакторе или по старому учебнику. На это указывает обилие стилистических элементов и атрибутов, а так же атрибут language скрипта(сейчас используется type="text/javascript"). Кроме того некоторые элементы имеют недопустимые атрибуты, а некоторые атрибуты - недопустимые значения (valign="center" к примеру, очевидно имелось в виду middle). Что скорее указывает на то, что код писался "ручками". Далее мне не совсем понятно, какой смысл в том, чтобы дни недели вставлять программно, почему е вписать их в HTML-код? Так же несколько смущает способ, при помощи которого это было сделано (цикл while)
Во-первых инкремент...зачем нужно умножение 1*1 ? И вообще есть стандартный способ инкремента, а именно i++ , вместо i = i + 1*1. Во вторых при переборе значений "от и до" гораздо удобнее цикл for Вместо
следовало написать
да и глобальные переменные могут злую шутку сыграть. У объекта Date есть метод getFullYear, он избавил бы от вот этого
Хотя, если учесть, что дальше идёт безусловное присвоение значения переменной year,а следующая строка такая
то об этом и говорить не стоило. Далее следует оригинальный способ определения того, каким по счёту является год в списке годов
Не знаю, надо ли это вообще, но если надо, то это можно сделать как-то так
А перебирать в цикле список, подряд идущих чисел... Дальше я не смотрел. То что описал изменил - вроде работает. А вообще - лучше готовый скрипт найти. Это сообщение отредактировал(а) diadiavova - 1.9.2009, 11:55 Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||||||||||
|
|||||||||||||||
Reasonsoul |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Замечания принимаются (некоторые), спасибо! Но у меня в firefox не работает: т.е. запуск Вашего идет, но при выборе месяца и года - выдает пустую таблицу
|
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Reasonsoul, я не исправлял ошибки, потому что не знаю какая функция для чего и прочее. Я просто указал на некоторые очевидные недостатки. Хотя кстати, запустил код в файрфоксе и гугольхроме - у меня всё работает.
Добавлено через 2 минуты и 2 секунды И кстати: "некоторые" - это какие? Может дело именно в этом? И чем остальные замечания плохи? -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Reasonsoul |
|
||||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Благодаря редактированию diadiavova определилась конкретная ошибка в коде, из-за которой firefox и др. зависали:
часть кода в календаре
заменить на
и все везде будет работать. |
||||
|
|||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
А мне вот что-то даже интересно стало, что уж там за календарь такой на 180 кб. Попробовал сам соорудить что-то подобное - в 7 кб уложился. И это ещё с форматированием, если его убрать, будет меньше, да и при желании можно ещё код уменьшить(в ущерб наглядности ессно). А что уж там за "волшебный календарь" такой?
Чтобы не быть голословным выкладываю свой вариант.
Это сообщение отредактировал(а) diadiavova - 1.9.2009, 22:03 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Лучше вот так
Хоть какая-то польза ![]() Это сообщение отредактировал(а) diadiavova - 2.9.2009, 01:02 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Reasonsoul |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Класс! Ну я конечно не спорю, ваши варианы и исправления очень грамотные!!! Спасибо!! Вот ссылка на календарь 180: .ttp://js.aceweb.ru/javascript/4/1/js.html (третий сверху вниз: "Навороченный клендарь Описание: Очень хороший скрипт календаря.")
|
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Ну вообще-то там много всякой лабуды. Вот слегка почистил, оказалось всего 15 кб
![]() Вообще, все подобные штуки сейчас реализуют с помощью фреймворков. jQuery например, весьма не плох. Для него есть масса плагинов, и втом числе календарей Плагины Календари Русская документация Вот этот например, чем не красавчик? Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Reasonsoul |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Там нет праздников (в примере)....
![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Это только один пример, а там их много. Они написаны разными людьми, поэтому возможности у всех разные, многие плагина можно настраивать под себя и к тому же jQuery даёт массу других возможностей, там не только календари имеются. По-моему изобретать велосипед не стоит. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Reasonsoul |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.8.2009 Репутация: нет Всего: нет |
Вот тут-то и вся "соль": Мне просто нравится придумывать что-то свое (в удовольствие), пусть оно и не блещет, но мое..., кроме того - это развивает: месяц назад я понятия не имел, что такое javascript (слышал), а теперь по крайней мере, могу кое как прочитать код... - это интересно ![]() Кстате, Вы, чувствуется очень хорошо разбираетесь в программах, не подскажете в чем причина: http://forum.vingrad.ru/forum/topic-44559/15.html , пожалуйста... Это сообщение отредактировал(а) Reasonsoul - 2.9.2009, 11:47 |
|||
|
||||
diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 11 Всего: 142 |
Я в веб разработке не силён. Это так ... типа увлечения, но на сколько я понимаю фрейм, в котором должна появиться страница ссылки надо указывать в атрибуте target ссылки. Обычно указывается имя фрейма(атрибут name) главное окно
фрейм linkframe.htm
Это сообщение отредактировал(а) diadiavova - 2.9.2009, 12:11 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||
|
|||||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |