funnywheel
PHP & JS
- Регистрация
- 6 Авг 2010
- Сообщения
- 255
- Реакции
- 219
- Автор темы
- #1
В кодинге почти не рублю, от этого все беды, нужна помощь в реализации (по идее) простенькой затеи.
Суть затеи - есть некая меню, под которой подложен фон. При наведении на пункт меню, фон должен анимированно поехать на этот самый пункт меню.
Фон абсолютно позиционирован внутри контейнера менюшки.
Как я вижу алгоритм скрипта -
1) Наведение мышки на элемент - срабатывает обработчик onmouseover и вызывает функцию
2) Функция меняет значение css для span'a (left: XXpx; )
3) transition-duration обеспечивает анимацию
4) убираем мышку, срабатывает обработчик onmouseout, вызывает функцию аналогичную предыдущей, восстанавливает значение left на исходное
Есть следующая структура HTML(упрощенный вариант)
Что попробовал:
Просто в обработчике написать
В Firefox и Opera 12 как часы, Opera Next, IE, Chrome - ноль внимания.
Пробовал в отдельном JS файле создать функцию и вызвать ее обработчиком
но тут кучерявость ручек моих проявилась видимо, не запустилось счастье, пожалуй даже писать этот бредец не стану.
Хелп ми плиз с рабочей реализацией этой штуки
Суть затеи - есть некая меню, под которой подложен фон. При наведении на пункт меню, фон должен анимированно поехать на этот самый пункт меню.
Фон абсолютно позиционирован внутри контейнера менюшки.
Как я вижу алгоритм скрипта -
1) Наведение мышки на элемент - срабатывает обработчик onmouseover и вызывает функцию
2) Функция меняет значение css для span'a (left: XXpx; )
3) transition-duration обеспечивает анимацию
4) убираем мышку, срабатывает обработчик onmouseout, вызывает функцию аналогичную предыдущей, восстанавливает значение left на исходное
Есть следующая структура HTML(упрощенный вариант)
HTML:
<div class="container">
<span id="target"></span>
<a>Link1</a>
<a>Link2</a>
<a>Link3</a>
<a>Link4</a>
</div>
<style>
.container {
position: relative;
}
#span {
background: url(../images/bg.png);
display: block;
height: 85px;
left: -5px;
position: absolute;
top: 0;
transition-duration: 0.2s;
z-index: -1;
}
</style>
Что попробовал:
Просто в обработчике написать
Код:
<a href="#" onmouseover='getElementById("target").style="left:125px;"' onmouseout='getElementById("target").style="left:-5px;"'>link</a>
В Firefox и Opera 12 как часы, Opera Next, IE, Chrome - ноль внимания.
Пробовал в отдельном JS файле создать функцию и вызвать ее обработчиком
Код:
onmouseover="function();"
Хелп ми плиз с рабочей реализацией этой штуки