среда, 22 августа 2007 г.

Как вертикально выровнять checkbox-ы и текст в label-ах

Задача такова: необходимо выстроить checkbox-ы горизонтально в ряд, обеспечить включение и выключение checkbox-а щелчком на соответствующем label и вертикально выровнять checkbox-ы и label-ы относительно друг-друга. Конечно можно ничего не варавнивать и оставить checkbox-ы и label-ы болтаться в воздухе. Но, согласитесь, что если мы делаем серьёзный сайт, то вопрос о его эстетической стороне оказывается далеко не на последнем месте. Вот о checkbox-овой эстетике мы сегодня и поговорим. Итак, начали.
Во-первых поместим наши checkbox-ы в список:

<div id="CheckboxesLine">
<ul>
<li><label>Select plz:</label></li>
<li><input type="checkbox" id="CB1" /><label for="CB1">Checkbox 1</label></li>
<li><input type="checkbox" id="CB2" /><label for="CB2">Checkbox 2</label></li>
<li><input type="checkbox" id="CB3" /><label for="CB3">Checkbox 3</label></li>
<li><input type="checkbox" id="CB4" /><label for="CB4">Checkbox 4</label></li>
<li><input type="checkbox" id="CB5" /><label for="CB5">Checkbox 5</label></li>
<li><input type="checkbox" id="CB6" /><label for="CB6">Checkbox 6</label></li>
</ul>
</div>

Далее пропишем вот такие стили:

#CheckboxesLine ul {
white-space:nowrap;
padding: 0;
margin: 0;
font-family: Verdana;
font-size: 0.7em;
}
#CheckboxesLine ul li {
display: inline;
white-space:nowrap;
}
#CheckboxesLine ul li label {
vertical-align:middle;
padding-right: 20px;
}
#CheckboxesLine ul li input {
margin-bottom: auto;
vertical-align:middle;
}
#CheckboxesLine ul li:first-child label{
padding-right: 0;
}

Вот и всё. Теперь и в IE, и в FF, и в Opera наши checkbox-ы будут выглядеть одинаково.

пятница, 17 августа 2007 г.

HTML & JavaScript: Как сделать свои radiobutton при помощи AJAX

Вас устраивают стандартные радиокнопки? Если также, как и меня-нет, то вот простое решение-заменим их на картинки. Это позволит нам с лёгкостью подгонять радиокнопки под любой дизайн сайта. Ну что, поехали:

<script language="javascript">
// Эту функцию я использую всегда во всех скриптах.
// Она решает вопрос поиска объекта по id во всех броузерах.
function getElement(aID){
return (document.getElementById) ? document.getElementById(aID) : document.all[aID];
}
function SwitchRadio(liObj,Id){
// Получаем id нужного списка радиокнопок <ul>
var ulName=liObj.parentNode.id;
// Получаем массив со всеми элементами <li>, входящими в наш список
var orderedNodes = getElement(ulName).getElementsByTagName("li");
// Переключаем все кнопки в положение "выключено"
for (i=0; i<orderedNodes.length; i++){
orderedNodes[i].style.background="url(images/radio_off.gif) 0 2px no-repeat";
}
// Теперь включаем нашу кнопку...
liObj.style.background="url(images/radio_on.gif) 0 2px no-repeat";
// ...и передаём через ajaxagent её данные PHP-скрипту,
// который запишет их в сессию.
agent.call("aa_func.php", "AA_SaveFieldValue", "callback_SaveFieldValue", ulName, Id);
</script>
}

В коде страницы пишем что-то типа этого:

<ul id="Q1" class="questionsUL">
<li onClick="javascript:SwitchRadio(this,'1')">Вариант 1</li>
<li onClick="javascript:SwitchRadio(this,'2')">Вариант 2</li>
<li onClick="javascript:SwitchRadio(this,'3')">Вариант 3</li>
</ul>

А в стилях:

.questionsUL {
padding: 0;
margin: 0 0 0 20px;
}
.questionsUL li {
list-style: none;
margin: 0;
padding: 0;
background: url(images/radio_off.gif) 0 2px no-repeat;
padding: 0 0 5px 20px;
margin: 0;
cursor: pointer;
}

radio_on.gif и radio_off.gif - это наша кнопка. Соответственно включённая и выключенная. Стили прописаны для картинки с кнопкой размерами 10x10 пикселей.

понедельник, 13 августа 2007 г.

То ли примета, то ли афоризм

Вчера был на юбилее у друга моего отца. В связи с этим радостным, вобщем-то, событием, родился грустный афоризм или даже народная примета: Тебе уже за 30, если друзья твоего отца приглашают тебя на свои юбилеи :(

вторник, 7 августа 2007 г.

Путешествие в Финдяндию. 14.07.2007-29.07.2007

Фото-отчёт о нашем путешествии в Финляндию можно посмотреть здесь

вторник, 5 июня 2007 г.

До чего доводит креативное мышление

Вчера поздно пошёл спать. Жена с мелким уже дрыхли в обнимку.
Забрался в постель, жена проснулась, присела на кровати и давай шарить по покрывалу.
И вот такой диалог у нас получился:

я: ты чего делаешь?
она: яйцо поставь
я: чееееее?
она: яйцо говорю поставь
я: какое нах яйцо?
она: ну не твоё конечно! куриное!
я: Ээээээ....
она: ну яйцо, треснутое, а оттуда цыплёнок
я: ты о чём вообще?
она: блиииин! яйцо. треснутое. оттуда цыплёнок выходит!

Вобщем до меня не сразу дошло, что ей приснился логотип для сайта.
А она не сразу въехала, что уже не спит и мы в реале разговариваем.
Креативная у меня жена. Менделеев, блин! :)

суббота, 12 мая 2007 г.

Как я прикололся над женой :)

Всё началось с того, что мы немного повздорили. Ну с кем не бывает? Повздорили и, как водится, разбежались "по углам". Она мелкого в охапку и спать, а я... Ну где обычно уединяется программер? Правильно - за компом. И посетила меня, не побоюсь этого слова, мысль - развести мою милую по-нашему, по-компутерному. А так как она шибко любит зависать на one.lv, то было придумано следующее: в файле HOSTS для www.one.lv был прописан IP-шник одного из подконтрольных мне серверов, а на самом серваке в index.php в самом начале добавлена проверочка. Если вход произведён с моего домашнего компа, то случайным образом перенаправлять юзера на одну из 4-х ссылок. 3 ссылки на статьи с тематикой "Как стать хорошей женой", а 4-ая на результат выполнения аналогичного запроса в Google :) Но на этом всё не закончилось. С утра жена встретила меня фразой: "Я оценила твоё чувство юмора" и потребовала вернуть всё назад. На что я ответил: "Ты же квесты любишь? Ну вот и проходи :)". И уехал по делам. А жена села на телефон обзванивать знакомых админов. Где-то через полчаса-час позвонила и сообщила, что прошла :) В итоге у всех хорошее настроение и никто ни на кого не обижен!

среда, 28 марта 2007 г.

НЛО в Финляндии

В конце ноября прошлого года в Финляндии я снял вот такое интересное явление. Смотрите и комментируйте.

UFO In Finland 26.11.2006 - For more funny videos, click here

вторник, 20 марта 2007 г.

Тема, старая как интернет...но актуальная.

На днях прочитал на башорге одну симпатишную цитату, которая пришлась как раз к месту, ибо я сейчас занят подгонкой одного движка фотоальбома под различные броузеры. Ситуация прямо, как у меня. Но если Огнелиса и Опера я победил, то с Эксплореровичем пока воюю. Больше комментировать не буду, лучше читайте.

Он сделал это!

У нас праздник! Тимофей ознаменовал сегодняшнее утро первым в своей жизни переворотом с пуза на спину! Это радостное событие не грех и отметить. Вот теперь мучаться - ждать пятницы или уже сегодня? Нет. Наверное всё-таки в пятницу. Не идти же завтра к дантисту с перегаром.