PDA

Просмотр полной версии : Движение фона на странице


TANZWUT
28.01.2009, 19:53
Осталась у меня сохранённая страничка с http://trin.cup.su/

Смысл был пустить картинку по кругу под мониторами. Достаточно простая задача, казалось бы, но я столкнулся с некоторыми трудностями...
Первое решение было простое до оргазма. Я просто повесил картинку с "вырезанными" мониками, а в background залил фон и яваскриптом двигал фон уже.
Хороший способ и все было бы отлично, если бы при этом IE не менял постоянно курсор на курсор с часиками. Это сильно доставало. Тогда сделал по другому.
Берется div и img с абсолютным позиционированием таким образом, чтобы картинка была выше. div`у задаем конкретные размеры и делаем overflow:hidden; Помещаем в него 2 картинки и яваскриптом двигаем их, причем если первая имеет left<-999px, то ее left=img2.width. Соответственно и со второй картинкой. Таким образом IE глючить перестало, славо богу. Вот функция на js:


Код HTML:

<script type="text/javascript">
document.getElementById("img1").src="/img/bg/1.jpg";
document.getElementById("img2").src="/img/bg/1.jpg";
document.getElementById("img2").style.left="0px";
document.getElementById("img1").style.left="999px";
function bg(){
if(parseInt(document.getElementById("img2").style.left)<=-999){
document.getElementById("img2").style.left='999px'
}
if(parseInt(document.getElementById("img1").style.left)<=-999){
document.getElementById("img1").style.left='999px'
}
document.getElementById("img1").style.left=parseInt(document.getElementById("img1").style.left)-1+"px";
document.getElementById("img2").style.left=parseInt(document.getElementById("img2").style.left)-1+"px";
}
setInterval('bg();', 20);
</script>

Это движение картинок справа налево. Аналогично можно сделать любое другое движение.


(c) Trinux

Пример приатачил...

Вобщем переделываю один из рипов, и решил попытацо сделать на фоне логотипа движение облаков... нарисовал PNG логотип на 1/3 верхняя часть полупрозрачна и т.д. проблема в том что запарился прикручивать в дизайн..

вывод логотипа:



main.tpl :
*****************
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr valign="top">
<td>
<div class="logo-bg">
<div class="logo-left"></div>
<div class="logo-right"></div>
</div></td>
<td width="2"></td>
</tr></table>
*****************


css/style.css :

*****************
.logo-bg {
height: 239px;
background: url(../images/logo-bg.png) repeat-x;

}
.logo-left {
width: 191px;
height: 239px;
background: url(../images/logo-left.png) no-repeat;
float: left;
}
.logo-right {
width: 220px;
height: 239px;
background: url(../images/logo-right.png) no-repeat;
float: right;
}
*****************


хэлп плз... :(

Chaak
28.01.2009, 20:03
http://webdev.stephband.info/parallax_demos.html
типа такого?

http://chernev.ru/jparallax-psevdo-3d-internet.html

Нормальный плагин к jquery... попробуй!

lisa99
29.01.2009, 16:54
скачала, посмотрела пример.
А теперь четче- что ты хочешь, и что НЕ получается?

Кстати, сталкивалась с конфликтами применения того фильтра, что в твоем примере, и обращения джава-скрипта к элементам DOM
Когда то.

Распиши, что нужно, я постараюсь помочь (и мне лишний опыт не помешает)

TANZWUT
30.01.2009, 18:09
ChaaK, прикольно конешно, оставлю в закладках на будущее, но не то...

наглядно:
http://img217.imageshack.us/img217/5334/logostyledv6.jpg
трабла в том, что криво получается логотип, докучи лого растягиваецо под разрешение и возникнет проблема в том, как бы сделать, чтоб картинка проезжала ровно от 1 края до другова...

мне ещё предложили как вариант под PNG, на flash облака подставить, с одной стороны было бы удобно... или же логотип поднять растянув на веь экран и в нём уже мутить как на примере...

lisa99
12.02.2009, 10:30
если еще актуально, или появились вопросы- отпишись в личку, или здесь
На меня тогда свалилась срочная работа, даже просила бана на форуме.
Постараюсь помочь разобраться. Просто дизом никого уже не удивишь, имхо. Нужны яркие эффекты=)

TANZWUT
26.02.2009, 13:31
lisa99, поидее актуально, но я впринципе шапку наверх поднял и отложил на потом... щас контентом занет и переделыванием/доработкой двига...