Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.04.2013, 11:26
Интересующийся
Отправить личное сообщение для Malsim Посмотреть профиль Найти все сообщения от Malsim
 
Регистрация: 01.04.2013
Сообщений: 20

Спасибо огромное Вам за оперативную помощь и отзывчивость)
Ответить с цитированием
  #12 (permalink)  
Старый 02.04.2013, 13:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Malsim
Форматирование подразумевает добавление отступов, для улучшения читабельности иерархии вложенности тегов?) я правильно понимаю?)
Да это мелочи. Но это бы помогло тебе обнаружить что у тебя два открывающих тега <head> и что скрипт находится где-то между головой и телом непонятно где.
Но беда не в этом. Скопируй свой код и попробуй запустить его. И отпишись о результатах
Ответить с цитированием
  #13 (permalink)  
Старый 02.04.2013, 16:06
Интересующийся
Отправить личное сообщение для Malsim Посмотреть профиль Найти все сообщения от Malsim
 
Регистрация: 01.04.2013
Сообщений: 20

Да да, конструкция работает) еще раз спасибо)

Еще вопрос можно?

Параметры элипса задаются через html форму, а возможно сделать так что бы к ним не было доступа со стороны пользователя, и задавались они вручную в теле самого скрипта?

Я полагаю это позволило бы сократить вот это html строчку:

<body onload="ellipse('luna','planeta',x0,y0,document.getElementById('alpha0').value,document.getElementById('a1').value,document.getElementById('b1').value ,document.getElementById('omega1').value)">


И проще было бы разобрать с тем как к событию onload (которое насколько мне известно может применяться только один раз), подключить несколько функций.

Вот вариант который имею на данный момент:

<!DOCTYPE html>

<html>
	<head>
		<title>Движение по эллипсу</title>
		<meta http-equiv="content-type" content="text/html;charset=utf-8" />

		<script>
			var x0=100,y0=100; // центр эллипса
			function ellipse(xid,x0,y0,alpha,a,b,omega) // эллиптическая орбита
				{
					var as=Math.sin(alpha*Math.PI/180);
					var ac=Math.cos(alpha*Math.PI/180);
					dt=5; // приращение времени
					t=0;
				//omega - угловая скорость, знак задает направление вращения
					var x=a*Math.cos(omega*t); // начальное положение на эллипсе
					var y=b*Math.sin(omega*t);
					obj=document.getElementById(xid);
					obj.style.top=(-x*as+y*ac+y0)+"px";
					obj.style.left=(x*ac+y*as+x0)+"px";
					setInterval("move(x0,y0,document.getElementById('alpha0').value,document.getElementById('a1').value, document.getElementById('b1').value,document.getElementById('omega1').value)",20)
				}
			
			function move(x0,y0,alpha,a,b,omega)// пересчет координат, вызывается из ellipse()
				{
					t=t+dt;
				// x,y - координаты в собственной системе координат
					var x=a*Math.cos(omega*t);
					var y=b*Math.sin(omega*t);
					var as=Math.sin(alpha*Math.PI/180);
					var ac=Math.cos(alpha*Math.PI/180);
					obj.style.top=(-x*as+y*ac+y0)+"px"; // переход в экранную систему координат
					obj.style.left=(x*ac+y*as+x0)+"px";
					obj.style.zIndex = y < 0 ? -1 : 1;
				}
		</script>
		
		<style>
		
			#planeta {
			border-radius: 100%;
			background: blue;
			height: 200px;
			position:absolute;
			width: 200px;
			}
			
			#luna {
			border-radius: 100%;
			background: gray;
			height: 30px;
			position:absolute;
			width: 30px;
			}
			
			.none {
			display: none;
			}
			
		</style>
		
	</head>

	<body onload="ellipse('luna','planeta',x0,y0,document.getElementById('alpha0').value,document.getElementById('a1').value,document.getElementById('b1').value ,document.getElementById('omega1').value)">
		
		<div id="planeta"></div>
		
		<div id="luna"></div>
			
			
				<!-- Угол наклона эллипса, град.(альфа) -->
			<input class="none" id="alpha0" type="text" value=0 size=4/>
				
				<!-- Большая полуось (a) -->
			<input class="none" id ="a1" type ="text" value=140 size=4/>
				
				<!-- Малая полуось (b) -->
			<input class="none" id ="b1" type ="text" value=40 size=4/>
				
				<!-- Угловая скорость (омега) -->
			<input class="none" id ="omega1" type ="text" value=0.01 size=4/>
				
	</body>

</html>

Последний раз редактировалось Malsim, 03.04.2013 в 18:13.
Ответить с цитированием
  #14 (permalink)  
Старый 02.04.2013, 18:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Наркоман чтоле?
Ответить с цитированием
  #15 (permalink)  
Старый 02.04.2013, 18:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Malsim
<body onload="ellipse('luna','planeta',x0,y0,document.ge tElementById('alpha0').value,document.getElementBy
Зачем тут пробел в первом слове getElementById ???
Ответить с цитированием
  #16 (permalink)  
Старый 02.04.2013, 18:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от danik.js
Зачем тут пробел в первом слове getElementById ???
его форум добавляет в длинные слова, что бы не корежить форум... Просто человеку нужно научится пользоватся тегами:
[JS]...[/JS] или [HTML]...[/HTML]
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #17 (permalink)  
Старый 02.04.2013, 19:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вобще, меня больше смущает это:
Сообщение от danik.js
Скопируй свой код и попробуй запустить его. И отпишись о результатах
Сообщение от Malsim
Да да, конструкция работает)
Что-то тут точно не так )
Ответить с цитированием
  #18 (permalink)  
Старый 02.04.2013, 20:19
Интересующийся
Отправить личное сообщение для Malsim Посмотреть профиль Найти все сообщения от Malsim
 
Регистрация: 01.04.2013
Сообщений: 20

ну насчет пробелов, человек комментарием выше объяснил)
вот вопрос насчет наркомана не понял)
а твою фразу - "Скопируй свой код и попробуй запустить его. И отпишись о результатах" я воспринял , как опробывать исправленный тобой код)
Ответить с цитированием
  #19 (permalink)  
Старый 02.04.2013, 22:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Malsim
вот вопрос насчет наркомана не понял)
Я сказал что под форматированием не это имел ввиду (не выравнивание)
Код, не обрамленый в
[html] .. [/html]
искажается. Чтоб ты понял предложил проверить самому. Как ты догалался нам приходится самим искать лишние пробелы и удалять. Не очень интересное времяпрепровождение. И тут на тебе! Заявляешь что все мол работает отлично, и в добавок постишь новую порцию неотформатированного искаженного кода. Нук какая тут еще реакция могла последовать? Правильно, мысли о наркомании..
Ответить с цитированием
  #20 (permalink)  
Старый 02.04.2013, 23:31
Интересующийся
Отправить личное сообщение для Malsim Посмотреть профиль Найти все сообщения от Malsim
 
Регистрация: 01.04.2013
Сообщений: 20

ссори, яж новичок. ну теперь буду иметь ввиду)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на вкл. Java script strengerst Общие вопросы Javascript 3 07.02.2012 16:19
Требуется программист Java Script Дитрий Андрияшкин Работа 0 03.08.2011 21:44
нажать кнопку с java script alerzo Events/DOM/Window 7 04.01.2011 15:49
Java Script в PHP stardel Общие вопросы Javascript 2 04.01.2010 12:58
HELP: Java Script Error: “text” is undefined Aram Khachaturyan Общие вопросы Javascript 2 11.04.2008 16:57