Посетите форум

Убираем текст в форме

Кликаем на текст, если ничего ввели, текст возвращается. Таким образом можно не писать поясняющий текст около поля.
Делается так:

<input type="text" value="Текст" onfocus="javascript: if (this.value == ‘Текст’) {this.value=”};" onblur="javascript: if (this.value == ”) {this.value=’Текст’};">

А именно:
onfocus="javascript: if (this.value == ‘Текст’) {this.value=”};"
При клике по полю проверяем, не ввел ли что-нибудь пользователь до этого, и если нет - то обнуляем значение value.

onblur="javascript: if (this.value == ”) {this.value=’Текст’};
Если пользователь ничего не ввел, то делаем текущее value равным ‘Текст’

2 Comments | Filed under Новичкам

Internet explorer + mootools. Операция прервана/Operation aborted

При использовании библиотеки mootools и innerHTML или appendChild в интернет эксплорер возникает ошибка - страница не загружается и выдается ошибка - операция прервана.

Возникает это, потому что дочерний контейнер содержит скрипт, изменяющий родительский контейнер.

На сайте Microsoft об этой проблеме знают, но решения, кроме как использовать internet explorer 8 - не предлагают. Нам такой вариант не подходит, да и решение простое до безобразия - тегу script надо добавить defer="defer".
Таким образом мы говорим браузеру, что исполнять этот скрипт нужно после полной загрузки страницы.

No Comments | Filed under Fix

Делаем красивый анонс с помощью OnMouseOver

Сразу оговорюсь – все написанное ниже – примитивно, и написано только для полного понимания происходящего. По сути все это можно написать гораздо проще и грамотнее.

И так, вот такой код:

<style>
.div_maindiv {
width: 450px;
height: 300px;
background-image: url(/files/showpic1.jpg);
}
.div_knopko {
float: left;
width: 145px;
height: 50px;
margin-left: 2px;
position: relative;
top: 245;
text-align: center;
padding-top: 14px;
font-weight: bold;
color: black;
cursor: pointer;
background-color: #999;
}
</style>

<div class="div_maindiv" ID="div_maindiv">

<div class="div_knopko" onmouseover="document.getElementById(’div_maindiv’).style.background=’url(/files/showpic1.jpg)’; this.style.backgroundColor=’#fff’" onMouseOut="this.style.backgroundColor=’#999′">Заголовок 1</div>

<div class="div_knopko" onmouseover="document.getElementById(’div_maindiv’).style.background=’url(/files/showpic2.jpg)’; this.style.backgroundColor=’#fff’" onMouseOut="this.style.backgroundColor=’#999′">Заголовок 2</div>

<div class="div_knopko" onmouseover="document.getElementById(’div_maindiv’).style.background=’url(/files/showpic3.jpg)’; this.style.backgroundColor=’#fff’" onMouseOut="this.style.backgroundColor=’#999′">Заголовок 3</div>
<br style="clear: both;">
</div>

Даст нам такую картину:

Заголовок 1
Заголовок 2
Заголовок 3


Симпатично, да?
Теперь сделаем разбор полетов, что же происходит, а именно разберем эту конструкцию:

onmouseover="document.getElementById(’div_maindiv’).style.background=’url(show1.jpg)’; this.style.backgroundColor=’#fff’" onMouseOut="this.style.backgroundColor=’#999′"

И так

Onmouseover – говорим, что действие будет происходить при наведении мыши на объект.
А внутри у нас:
document.getElementById(’div_maindiv’) – Объясняем, что сейчас будем работать с объектом, ID которого равен div_maindiv.
.style.background=’url(show1.jpg)’; - что же собственно делаем – ставим в качестве background’а картинку show1.jpg.
Точка с запятой показывает, что первое действие мы описали, и дальше будем писать второе:
this – как наверное поняли, это альтернатива document.getElementById(’div_maindiv’), и говорит она о том, что работать будем с объектом, в котором написан код.
.style.backgroundColor=’#fff’ – меняем background-color на белый цвет.
Ну и onMouseOut="this.style.backgroundColor=’#999′" – говорит о том, что при уводе мыши с элемента – необходимо поменять background-color у самого элемента обратно на серый.

No Comments | Filed under Новичкам

Редирект, скрипт редиректа

Наиболее внятный скрипт редиректа

<script language="JavaScript1.1″ type="text/javascript">
setTimeout(’location.replace("
http://www.fixblog.ru")’, ‘3000′);
</script>
<noscript>
<meta http-equiv="Refresh" content="3; URL=http://www.fixblog.ru">
</noscript>

Все это конечно же в <head>. При включенном ява скрипте произойдет редирект на fixblog.ru через 3000 миллисекунд, что равно 3 секундам, при отключенном - тоже самое через три секунды.

No Comments | Filed under Новичкам

Замена слоев, или как поменять DIV местами

Небольшой FAQ по теме:
Q: Что это?
A: Имеем такую конструкцию:

Слой 1
Some text
Слой 2

В итоге это будет выглядеть так:
Слой 1
Some text
Слой 2
После небольших махинаций с ява скриптом, это будет выглядеть так:
Слой 2
Some text
Слой 1
При этом код останется прежним. Можно это сделать и позиционированием, но с условием, что мы не знаем какой height у Some Text – это сделать не получится.
Q: В каких случаях применять?
A: Например баннеры. Допустим, есть баннер в шапке, баннер в правой колонке и баннер в подвале. Загружаются они по мере загрузки страницы, что немного тормозит всю загрузку. Мы же, путем подмены слоев, сначала загрузим страницу, а потом уже выскочат все баннеры одновременно.
И так, код:

a
b



Вот и все. Последнее, что надо знать – скрипт меняет содержимое слоев, учтите это, применяя стили для содержимого.

No Comments | Filed under Fix


www.seozavr.ru - автоматическое размещение статей с прямыми ссылками