Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2014, 00:09
Новичок на форуме
Отправить личное сообщение для daw2nalim_alex Посмотреть профиль Найти все сообщения от daw2nalim_alex
 
Регистрация: 16.12.2014
Сообщений: 7

Сложное движение элементов
Всем привет.
Солнце вращается по элиптической орбите вокруг некоторого центра. Земля, в свою очередь, вращается вокруг Солнца, также по элиптической орбите. Наконец, Луна вращается вокруг Земли, опять же, по элиптической орбите. И все это вращается одновременно!
Изображения есть, необходимо установить солнце посередине экрана и задать вращение. Формулы должны быть рабочие, не могу понять почему не работает. Помогите пожалуйста!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//RU">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<META NAME="Author" CONTENT="Eugene P. Lilitko">
<TITLE>Сложное движение элементов</TITLE>

<SCRIPT language="JavaScript">

<!--

function initObject(obj,radius,angleinc,anglestart,directio n,vertical,horizontal) {
obj.radius = radius;
obj.angleinc = angleinc;
obj.anglestart = anglestart;
obj.angle = anglestart;
obj.direction = direction;
obj.vertical = vertical;
obj.horizontal = horizontal;
obj.centerX = parseInt(obj.left) - horizontal*radius*Math.cos(anglestart*Math.PI/180);
obj.centerY = parseInt(obj.top) + vertical*radius*Math.sin(anglestart*Math.PI/180);
obj.move = circleMove();
}

function circleMove() {
with (this) {
angle += direction*angleinc;
left = centerX + horizontal*radius*Math.cos(angle*Math.PI/180);
top = centerY - vertical*radius*Math.sin(angle*Math.PI/180);
}
}

function init() {
var NN = (navigator.appName == "Netscape");
speed = 20;
moon =(NN) ?
document.layers["allSpan"].document.layers["earthMoonSpan"].document.layers["moonSpan"] :
document.all["moonSpan"].style;
earth = (NN) ?
document.layers["allSpan"].document.layers["earthMoonSpan"].document.layers["earthSpan"] :
document.all["earthSpan"].style;
earthMoon = (NN) ?
document.layers["allSpan"].document.layers["earthMoonSpan"] :
document.all["earthMoonSpan"].style;
sun = (NN) ?
document.layers["allSpan"] :
document.all["allSpan"].style;
initObject(earthMoon,2,1.5,20,1,1,1);
initObject(moon,16,4,0,-1,1,2);
initObject(sun,75,1,180,1,1,2);
moveObjects()
}

var sunDelay = true;
function moveObjects() {
earthMoon.move();
moon.move();
sunDelay = !sunDelay;
if (sunDelay) sun.move();
if (parseInt(moon.top) < parseInt(earth.top)) {
if (moon.zIndex != 1) moon.zIndex = 3;
} else {
if (moon.zIndex != 3) moon.zIndex = 1;
}
setTimeout("moveObjects()",speed)
}

//-->

</SCRIPT>
</HEAD>

<BODY TEXT="white" LINK="AQUA" VLINK="YELLOW" BACKGROUND="./pic/stars.gif" onLoad="init()">

<SPAN ID="allSpan" STYLE="position:absolute; left:232; top:80; width:336; height:316;">
<SPAN ID="sunSpan" STYLE="position:absolute; left:300; top:90; width:71;">
<IMG SRC="./pic/sun.gif" WIDTH=71 HEIGHT=71 BORDER=0>
</SPAN>
<SPAN ID="earthMoonSpan" STYLE="position:absolute; left:0; top:72; width:100; height:100;">
<SPAN ID="earthSpan" STYLE="position:absolute; z-index:2; left:34; top:34; width:32; height:32;">
<IMG SRC="./pic/earth.gif" WIDTH=32 HEIGHT=32 BORDER=0>
</SPAN>
<SPAN ID="moonSpan" STYLE="position:absolute; left:80; top:40; width:20; height:20;">
<IMG SRC="./pic/moon.gif" WIDTH=20 HEIGHT=20 BORDER=0>
</SPAN>
</SPAN>
</SPAN>
</BODY>
</HTML>
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2014, 00:40
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от daw2nalim_alex
Всем привет.
Солнце вращается по элиптической орбите вокруг некоторого центра. Земля, в свою очередь, вращается вокруг Солнца, также по элиптической орбите. Наконец, Луна вращается вокруг Земли, опять же, по элиптической орбите. И все это вращается одновременно!
Изображения есть, необходимо установить солнце посередине экрана и задать вращение. Формулы должны быть рабочие, не могу понять почему не работает. Помогите пожалуйста!
изображений нет, если выложишь, можно будет посмотреть, а так сразу видно, что код откуда-то выдран, ни разу не нажата кнопка f12, не было попыток вникнуть и прогуглить то, что происходит в коде
Ответить с цитированием
  #3 (permalink)  
Старый 17.12.2014, 01:02
Новичок на форуме
Отправить личное сообщение для daw2nalim_alex Посмотреть профиль Найти все сообщения от daw2nalim_alex
 
Регистрация: 16.12.2014
Сообщений: 7

http://old.mkgt.ru/files/material-st.../demo/css5.htm
мне препад дал задание, пытался вникнуть в код...
Ответить с цитированием
  #4 (permalink)  
Старый 17.12.2014, 01:09
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от daw2nalim_alex Посмотреть сообщение
http://old.mkgt.ru/files/material-st.../demo/css5.htm
мне препад дал задание, пытался вникнуть в код...
где теги layer и через какой браузер смотришь, что document.layers работает?

Последний раз редактировалось bes, 17.12.2014 в 01:11.
Ответить с цитированием
  #5 (permalink)  
Старый 17.12.2014, 01:18
Новичок на форуме
Отправить личное сообщение для daw2nalim_alex Посмотреть профиль Найти все сообщения от daw2nalim_alex
 
Регистрация: 16.12.2014
Сообщений: 7

Смотрю через Chrome. Теги <layer></layer>? В этом и загвоздка. Не понимаю, как их правильно применить.
Ответить с цитированием
  #6 (permalink)  
Старый 17.12.2014, 01:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126


4 апреля 2001 г. 20:19:00
http://school.ciit.zp.ua/html-htm/dhtml/0107.htm
Ответить с цитированием
  #7 (permalink)  
Старый 17.12.2014, 01:40
Новичок на форуме
Отправить личное сообщение для daw2nalim_alex Посмотреть профиль Найти все сообщения от daw2nalim_alex
 
Регистрация: 16.12.2014
Сообщений: 7

Спасибо. В IE работает, а в Chrome нет. Как мне исправить?
Ответить с цитированием
  #8 (permalink)  
Старый 17.12.2014, 01:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

daw2nalim_alex,
document.getElementById видимо вам неизвестно ...
<!DOCTYPE>
<HTML>
<HEAD>
   <meta charset="utf-8">
   <META NAME="Author" CONTENT="Eugene P. Lilitko">
   <TITLE>Сложное движение элементов</TITLE>

<SCRIPT >


function initObject(obj,radius,angleinc,anglestart,directionLI,vertical,horizontal) {
     obj.radius = radius;
     obj.angleinc = angleinc;
     obj.anglestart = anglestart;
     obj.angle = anglestart;
     obj.directionLI = directionLI;
     obj.vertical = vertical;
     obj.horizontal = horizontal;
     obj.centerX = parseInt(obj.left) - horizontal*radius*Math.cos(anglestart*Math.PI/180);
     obj.centerY = parseInt(obj.top) + vertical*radius*Math.sin(anglestart*Math.PI/180);
     obj.move = circleMove;
}

function circleMove() {
     with (this) {
        angle += directionLI*angleinc;
        left = centerX + horizontal*radius*Math.cos(angle*Math.PI/180)+'px';
        top = centerY - vertical*radius*Math.sin(angle*Math.PI/180)+'px';
     }
}

function init() {

     speed = 20;
     moon = document.getElementById("moonSpan").style;
     earth =document.getElementById("earthSpan").style;
     earthMoon = document.getElementById("earthMoonSpan").style;
     sun = document.getElementById("allSpan").style;
     initObject(earthMoon,125,1.5,20,1,1,1);
     initObject(moon,16,4,0,-1,1,2);
     initObject(sun,75,1,180,1,1,2);
     moveObjects()
}

var sunDelay = true;
function moveObjects() {
     earthMoon.move();
     moon.move();
     sunDelay = !sunDelay;
     if (sunDelay) sun.move();
     if (parseInt(moon.top) > parseInt(earth.top)) {
        if (moon.zIndex != 1) moon.zIndex = 1;
     } else {
        if (moon.zIndex != 3) moon.zIndex = 3;
     }
     setTimeout("moveObjects()",speed)
}



</SCRIPT>
</HEAD>

<BODY TEXT="white" LINK="AQUA" VLINK="YELLOW" BACKGROUND="http://school.ciit.zp.ua/html-htm/dhtml/pic/stars.gif" onLoad="init()">

<SPAN  ID="allSpan" STYLE="position:absolute; left:0; top:80; width:336; height:316;">
     <SPAN ID="sunSpan" STYLE="position:absolute; left:131; top:90; width:71;">
        <IMG id=s SRC="http://school.ciit.zp.ua/html-htm/dhtml/pic/sun.gif" WIDTH=71 HEIGHT=71 BORDER=0>
     </SPAN>
     <SPAN ID="earthMoonSpan" STYLE="position:absolute; left:232; top:72; width:100; height:100;">
        <SPAN ID="earthSpan" STYLE="position:absolute; z-index:2; left:34; top:34; width:32; height:32;">
                <IMG SRC="http://school.ciit.zp.ua/html-htm/dhtml/pic/earth.gif" WIDTH=32 HEIGHT=32 BORDER=0>
        </SPAN>
        <SPAN ID="moonSpan" STYLE="position:absolute; left:80; top:40; width:20; height:20;">
                <IMG SRC="http://school.ciit.zp.ua/html-htm/dhtml/pic/moon.gif" WIDTH=20 HEIGHT=20 BORDER=0>
        </SPAN>
     </SPAN>
</SPAN>
<H2>Сложное движение элементов</H2>
<HR>
<P>
Солнце вращается по элиптической орбите вокруг некоторого центра.
Земля, в свою очередь, вращается вокруг Солнца также по эллиптической
орбите. Наконец, Луна вращается вокруг Земли, опять же, по
эллиптической орбите. И все это вращается одновременно! Траектория
Земли довольно замысловата, а уж о траектории Луны и говорить
нечего!<BR><BR>

<HR>
</P>
Идея этого примера принадлежит Дэну Стайнману. Настоящая
реализация&nbsp;— Е.П.Лилитко с использованием картинок Дэна
Стайнмана.

</BODY>
</HTML>
Ответить с цитированием
  #9 (permalink)  
Старый 17.12.2014, 01:50
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Rise
В IE8 работает
в ie11 в режиме совместимости с ie5 работает
Ответить с цитированием
  #10 (permalink)  
Старый 17.12.2014, 01:55
Новичок на форуме
Отправить личное сообщение для daw2nalim_alex Посмотреть профиль Найти все сообщения от daw2nalim_alex
 
Регистрация: 16.12.2014
Сообщений: 7

ТЕперь известно. Спасибо большооооооо ое
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод случайных элементов из массива в таблицу Narm0 Общие вопросы Javascript 10 06.08.2013 12:39
Удалить и вернуть массив из удаленных элементов splice Paulyyy Общие вопросы Javascript 15 29.05.2013 15:36
запретить изменение количество элементов в списке Antistas jQuery 0 05.12.2012 14:05
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Сгенерировать 2 последовательности и узнать сколько в них одинаковых элементов Ирина Владимировна Общие вопросы Javascript 10 24.03.2012 18:18