Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Фреймы, анимация, эффекты


Автор: Coocky 25.1.2005, 20:22
Мужики,горю.В субботу зачет по скрипту.Пробил ,что будет практическое задание:
1.Сделать окно с 2 мя фреймами..
2.Каждый фрейм имеет текстовое поле и кнопку.
3.По нажатию кнопки,текст из поля одного фрейма,должен помещаться в другое поле второго фрейма,и обратно...
4.Есть кнопка для создания другого окна-отдельного,с возможностью обмена информацией,как в предыдущих заданиях с фреймами
5.Каждый фрейм должен иметь один движущийся обьект,и один обьект с эффетками(эффектом)
Кто может,для кого это быстро,помогите.Смогу наградить только "+" smile
Помогите,кто может smile

Автор: Aliance 25.1.2005, 20:50
IMHO, тебе http://forum.vingrad.ru/index.php?showforum=25

Автор: Coocky 25.1.2005, 20:54
Ну,пусть модераторы перенесут...Дело не в этом,просто прошу помочь.Задание не сложное,для профи,я думаю.Может кто и поможет...А если нет,то спасибо и на том,что показали где надо создавать топики..

Автор: Aliance 25.1.2005, 21:00

Но все же помогу:
Цитата(Coocky @ 25.1.2005, 20:22)
1.Сделать окно с 2 мя фреймами..

Код

<HTML>
<head>
<title>Работа для зачета в субботу :) © Aliance<title>
</head>

<FRAMESET COLS="50%,50%" FRAMEBORDER="YES" BORDER="2">
<FRAME src="left.htm" NAME="left" MARGINWIDTH="20" MARGINHEIGHT="20" SCROLLING="no" NORESIZE>
<FRAME src="right.htm" NAME="right" MARGINWIDTH="20" MARGINHEIGHT="20" >
</FRAMESET>
</HTML>

Автор: Coocky 25.1.2005, 21:01
Вышли плиз на мыло,я в клубе сижу,с собой никаких носителей.Инфу домой не донести...

Автор: Aliance 25.1.2005, 21:05
Цитата(Coocky @ 25.1.2005, 20:22)
2.Каждый фрейм имеет текстовое поле и кнопку.


left.htm
Код

<form action="" name="left_form">
<INPUT type="text" name="text_field_left" value="" />
<INPUT type="submit" name="submit_left" value="Отправить форму" />
</form>


right.htm
Код

<form action="" name="right_form">
<INPUT type="text" name="text_field_right" value="" />
<INPUT type="submit" name="submit_right" value="Отправить форму" />
</form>

Автор: Aliance 25.1.2005, 21:16
Цитата(Coocky @ 25.1.2005, 20:22)
3.По нажатию кнопки,текст из поля одного фрейма,должен помещаться в другое поле второго фрейма,и обратно...


Пользуйся поиском, найдешь обмен инф. между полями разных фреймов. Не найдешь - послезавтра напишу... (завтра не будет)


Цитата(Coocky @ 25.1.2005, 20:22)
4.Есть кнопка для создания другого окна-отдельного,с возможностью обмена информацией,как в предыдущих заданиях с фреймами


Обмен ищи на форуме или см. ^
Кнопка вот:
Код

<INPUT type="button" name="popup" value="Новое окно" onclick="popup();" />
...
// функция JS
function popup() {
  window.open("www.aliance.hoha.ru","New",statusbar=yes);
}
// Используя название окна New, можно передавать туда-сюда переменные.


Цитата(Coocky @ 25.1.2005, 20:22)
5.Каждый фрейм должен иметь один движущийся обьект,и один обьект с эффетками(эффектом)


Подробнее?
Добавлено @ 21:17
Цитата(Coocky @ 25.1.2005, 21:07)
Кинь на мыло


Нее, временя деньги smile

Автор: Coocky 25.1.2005, 21:23
Ну,ладно,скопирую,вставлю...Посмотрю,а работает,тогда держи + smile Как обещал...

Автор: Coocky 25.1.2005, 21:56
Цитата
Подробнее?

Ну рисунок,который двигается,и рисунок с эффектом..

Автор: Aliance 25.1.2005, 22:19
Цитата(Coocky @ 25.1.2005, 21:56)
Ну рисунок,который двигается,и рисунок с эффектом..

Эффектов туева хуча, а движение можно реализовать 100 способами, хоть простейщим marque

Автор: Coocky 25.1.2005, 22:20
Цитата
Эффектов туева хуча, а движение можно реализовать 100 способами, хоть простейщим marque

Aliance,любое,желательно то,которое покажет преподу мои знания скрипта smile smile

Автор: Aliance 25.1.2005, 22:33
Цитата(Coocky @ 25.1.2005, 22:20)
мои знания скрипта

JS, да? Хм... окей... щас чиркану smile

Код

// рисунок динамический
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Анимация рисунка</title>
<script language="JavaScript" type="text/javascript" src="animeLine.js"></script>
</script>
</head>
<body style="height:400px;"  onload="initAnime()">
<form>
<input type="button" value="Слева-на-право"
onclick="initSLAnime('block', 100, 200, 500, 200, 5)">
<input type="button" value="По диагонали"
onclick="initSLAnime('block', 100, 200, 500, 500, 20)">
</form>

<div id="block" style="position:absolute; top:200px; left:100px; height:200px; width:200px; background-color:orange"></div>

</body>
</html>

// animeLine.js

var anime;

function initAnime() {
   anime = {elemID:"",
            xCurr:0,
            yCurr:0,
            xTarg:0,
            yTarg:0,
            xStep:0,
            yStep:0,
            xDelta:0,
            yDelta:0,
            xTravel:0,
            yTravel:0,
            vel:1,
            pathLen:1,
            interval:null
           };
}

function initSLAnime(elemID, startX, startY, endX, endY, speed) {
   initAnime();
   anime.elemID = elemID;
   anime.xCurr = startX;
   anime.yCurr = startY;
   anime.xTarg = endX;
   anime.yTarg = endY;
   anime.xDelta = Math.abs(endX - startX);
   anime.yDelta = Math.abs(endY - startY);
   anime.vel = (speed) ? speed : 1;
   document.getElementById(elemID).style.left = startX + "px";
   document.getElementById(elemID).style.top = startY + "px";
   anime.pathLen = Math.sqrt((Math.pow((startX - endX), 2)) +
   (Math.pow((startY - endY), 2)));
   anime.xStep = parseInt(((anime.xTarg - anime.xCurr) / anime.pathLen) * anime.vel);
   anime.yStep = parseInt(((anime.yTarg - anime.yCurr) / anime.pathLen) * anime.vel);
   anime.interval = setInterval("doSLAnimation()", 10);
}

function doSLAnimation() {
   if ((anime.xTravel + anime.xStep) <= anime.xDelta &&
       (anime.yTravel + anime.yStep) <= anime.yDelta) {
       var x = anime.xCurr + anime.xStep;
       var y = anime.yCurr + anime.yStep;
       document.getElementById(anime.elemID).style.left = x + "px";
       document.getElementById(anime.elemID).style.top = y + "px";
       anime.xTravel += Math.abs(anime.xStep);
       anime.yTravel += Math.abs(anime.yStep);
       anime.xCurr = x;
       anime.yCurr = y;
   } else {
       document.getElementById(anime.elemID).style.left = anime.xTarg + "px";
       document.getElementById(anime.elemID).style.top = anime.yTarg + "px";
       clearInterval(anime.interval);
   }
}



Это было исп. мной для своих целей, подправь код как тебе нужно smile
Есть еще не прямолинейная анимация, нужна будет - пиши.
Работает под NN6+ & IE5+

Эффекты позже напишу.

Автор: Coocky 25.1.2005, 22:39
Ну держи дружище,за знаниеи помощь.Большой сенкс!Выручил бродягу..
У меня просто в голове каша MFC,QT,PHP,JavaScript,сейчас ASP...блин,загнусь скоро,а толком ничего не помню..Спасибо за помощь а главное за труд smile

Автор: Aliance 25.1.2005, 22:44
Coocky
Завсегда. Эффекты... думаю раньше меня напишут smile
Кстати, по эффектам были топики полезные, глянь:
http://forum.vingrad.ru/index.php?showtopic=28425&hl=эффекты

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)