«WEB-мастерство для каждого»

  «Мой профиль»  

Уважаемые Посетители!

Сегодня попробуем слегка облегчить бремя тех, кто регулярно работате над своим сайтом, добавляет свежие материалы и заботиться об актуальности их анонсов.

Alex_soldier
(alex_soldier@mail.ru)
Лаборатория FAQ Ноу-Хау Эффекты Мнения

12.10.2005: Ноу-Хау «Часовой механизм NEW»

Сегодня я обратил свой взляд на проблему актуальности отображения информации на сайте. Общеизвестно, что небольшие яркие метки (типа такой NEW) возле наиболее свежих материалов способствуют увеличению их читаемости примерно в два раза! Они привлекают внимание посетителя и как бы "подталкивают" его нажать на заветную ссылку.

Но есть и обратная сторона - редкообновляемые ресурсы. Недавно я поймал себя на том, что на некоторых моих страницах эти метки висят уже более года. Они уже порядком премелькались постоянным посетилям и наоборот, ухудшают общее мнение о сайте.

Если у вас только одна новостная страница, где вы и анонсируете все обновления - то это вообще не проблема. Другое дело, если таких страниц несколько десятков. Тут уже просто не удержишь в голове всю эту махину связных документов, подразделов, разделов. Даже в простейшем случае, когда вы добавляете в навигационное меню один-единственный пункт, он должен быть выделен на всех страницах сайта. А это значит, что сначала вам придется ручками править все страницы (добавлять и выделять его), а потом (через пару недель) - опять править, только уже убирать выделение. Вот и получается неблагодарная двойная работа.

Озаботившись этой проблемой, я решил хотя бы наполовину облегчить жизнь самоотверженного web-дизайнера. Да, поставить выделение все-таки придется самому - без этого никак. А вот работу по снятию выделений и меток мы поручим умному JS-скрипту.

Итак, формулировка задачи такова: в подключаемом JS-файле хранится функция, которой мы передаем 2 параметра: момент добавления новости и сколько дней она должна висеть с пометкой "новая". В зависимости от текущей даты, эта функция либо печатает в документ метку, либо нет.

Вот как это выглядит в коде (скопируйте в файл new-time.htm):




А это содержимое подключаемого файла new-time.js:



Здесь я воспользовался функцией (new Date()).getTime(), которая возвращает количество миллисекунд, прошедших, кажется, с полночи 1 января 1980. В принципе, мне совсем не важно знать начало отсчета, главное - разница между моментами добавления новости и текущим временем просмотра у посетителя.

Как видите, у меня стоит округление до суток (now-was)/1000/60/60/24 - в секунде 1000 миллисекунд, в минуте - 60 секунд, и т.д. А в сутках удобнее всего задавать длительность анонсирования новости.

Глядя на вызов функции вида anonce(1125794619552,7); у всех вас назревает вопрос: "А как узнавать значение первого ужасающего параметра? Ведь оно будет требоваться постоянно, при каждом последующем обновлении."

Я и тут вас не покину: нажмите на эту ссылку, и вы сразу же узнаете, что хотели! Запечатлите этот миг, он уникален! Только одна оговорка: если вы читаете данный выпуск рассылки через обычный браузер, открыв письмо из почтового ящика, то эта возможность будет заблокирована. Поэтому откройте оригинал выпуска на сайте и проделайте те же манипуляции там:
www.alex-world.ru/web/master/0004.htm

Ну что же, остальное - дело техники. Начинается новое время: создайте себе файл new-time.js и подключите его ко всем страничкам, где потребуется ставить метки новизны. Пользуйтесь на здоровье, теперь об актуальности отображения вашей информации позаботится до неприличия пунктуальный JS-скрипт.

Список выпусков  > Следующий выпуск  >>>

∙ Форумы ∙
∙ Космос ∙
∙ Игры ∙
∙ Heroes ∙
∙ WEB ∙
∙ AML ∙
∙ Delphi ∙
© Copyright 1998 – 2009 by Alex_soldier
Сайт сделан по технологии AML

РАЗДЕЛЫ САЙТА

Главная страница Мира Идей
Лаборатория WEB-мастера
Уголок Программиста
Игровая Зона
Статьи о Космосе и Вселенной

РАССЫЛКИ САЙТА
(Content.Mail.Ru)

Обзор интересных рассылок

Web-мастерство для каждого

Космос: Новости Вселенной

Чего нам не хватает в играх?

Heroes: только Новые Идеи

HTML, CSS, JS в примерах

Самые-самые убойные
анекдоты сети




Получить архивы на e-mail (RAR ~ 2 Мб)