воскресенье, 8 мая 2011 г.

Funny java script

Сегодня захотелось мне отобразить на своей личной странице свой возраст. Причем, как всегда не просто, напечатать "I'm 27 years old", а заставить браузер считать мой возраст самостоятельно. Хотя было бы прикольно, чтобы мне каждый год было 27 лет :). Но тут меня подстерегало разочарование! Да-а-а, каждый год 27 не может быть :))) Просто как всегда не бывает. Оказывается Google Sites не разрешает вживлять в свои страницы JavaScript по соображениям безопасности (http://www.google.com/support/forum/p/sites/thread?tid=387a476b0b72a86e&hl=en). Предлагаются всякие извращенные варианты - через Google Gadgets. Ну не gadgets-тво?

В общем пусть буржуи себе страдают ерундой. А мы будем страдать другой ерундой. :)
Слава Богу, на Блогере можно вживлять в тело сообщения java-скрипты. Чем я и воспользовался. На странице "Обо мне" можно встретить предложение "Мне сейчас NN лет/года/год". Возраст честно считается скриптом.
Простая безделушка, но позабавила старика :))))))

Исходный код:


function getLastNumber(str){
  var val = "" + str;
  return Number(val.substr(val.length - 1,1));
};

function getMyAge() {
  var today, myBirthday, myAge, d;
  today = new Date();
  myBirthday = new Date(1984, 3, 22);
  d = new Date(today.getFullYear(), myBirthday.getMonth(), myBirthday.getDate());
  myAge = today.getFullYear() - myBirthday.getFullYear();
  if (today < d) {
    myAge = myAge - 1;
  }

  var suffix;
  if (myAge > 4 && myAge < 21) {
    suffix = " лет";
  } else if (getLastNumber(myAge) > 1 && getLastNumber(myAge) < 5){
    suffix = " года";
  } else if (getLastNumber(myAge) == 1){
    suffix = " год";
  } else {
    suffix = " лет";
  }
  return "" + myAge + suffix;
};

document.write(getMyAge());

Как это использовать?

В своем блоге переходите в режим отображения HTML. Там где требуется вставляете теги:

нажимаем "Опубликовать сообщение" и ваш любимый браузер в то место куда вы вставили исходный код пишет ваш возраст и добавляет в зависимости от числа "лет/года/год". Кроме того, наконец-то!!! Свершилось! ... Я поставил себе на блог скрипты, которые раскрашивают исходный код. Что вы можете собственно лицезреть. О том, как включить подсветку исходного кода в своем Блоге можно почитать пост Adding Syntax Highlighting to Blogger