Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите пожалуйста с трансформацией изображения (https://javascript.ru/forum/misc/8026-podskazhite-pozhalujjsta-s-transformaciejj-izobrazheniya.html)

subzey 05.03.2010 02:32

А в svg и css3 трансформации интереснее :).

(function(){
		var a = 0;
		var image = document.createElement('image');
		image.src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'; // снова 
		image.onclick = function(){
			image.parentNode.removeChild(image);
			clearInterval(intervalId);
		}
		with(image.style){
			position = 'fixed';
			top = '50%';
			left = '50%';
			margin = '-38 0px 0px -162';
			cursor = 'pointer';
		} 
		document.body.appendChild(image);
		var intervalId = setInterval(function(){
			a += .05;
			image.style.MozTransform = image.style.WebkitTransform = image.style.OTransform = image.style.transform = 'rotate(' + (Math.sin(a) * 20) + 'deg) scale(' + (Math.sin(a*4) * .1 + 1) + ', ' + (-Math.sin(a*4) * .1 + 1) + ') ';
		}, 40);
	})()

Deniskan 05.03.2010 12:18

Цитата:

Сообщение от Tim (Сообщение 46818)
Если лень с JS заморачиваться возмите библиотеку jQuery: http://www.rsdn.ru/article/inet/jQuery.xml#EFDAE

А что это вообще за библиотеки, читал что их много, но не понял что они из себя представляют. Познакомьте пожалуйста с этим понятием поближе

Tim 05.03.2010 23:16

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
	<title>Опыты с jQuery</title>
	<style type="text/css">
		#my_div {
			background: #cccccc;
			width: 100px;
			height: 100px;
			position: absolute;
		}
	</style>
	<!-- Подключение jQuery -->
	<script type="text/javascript" src="jquery-1.3.2.js"></script>
	<script type="text/javascript">

	// Обработчик события загрузки документа
	$(document).ready(function(){

		// Обработчик щелчка по элементу
		$("#my_div").click(function(){
		
			// Берём элемент по ID-у
			$("#my_div")
				// Изменяем ширину и высоту за 300 мили секунд
				.animate({height: 300, width: 300}, 300)
				// Изменяем координаты за 500 мс
				.animate({left: 200, top: 200}, 500);
		});
	
		// Следующий обработчик и т.д. и т.п.
	
	});
	
	</script>
</head>
<body>

	<div id="my_div">Щёлкни меня</div>

</body>
</html>


Вот простой пример с jQuery. Чтобы он работал нужно сначала саму либу качнуть http://docs.jquery.com/Downloading_jQuery. jQuery - это самый популярный фреймворк. По нему куча статей написано, + с ним достаточно просто разобраться. Хотя я конечно сначала рекомендую http://javascript.ru/book/definitiveguide. Страниц 300 хотя бы осилить. Потом можно про jQuery читнуть http://www.rsdn.ru/article/inet/jQuery.xml.

Deniskan 06.03.2010 16:17

Читаю этот учебник, и наткнулся на такое понятие, как Модули и пространства имен, но так и не понял, что это такое. Объясните пожалуйста чайнику, что это такое.:help: :help:

Tim 06.03.2010 18:33

Для понимание пространств имён лучше обратиться к литературе по языкам C++ и С#(читается как си шарп). Там они объявляются следующим образом.
Код:

namespace ИМЯ_ПРОСТРАНСТВА_ИМЁН {
    Здсь располагается объявление/определение переменных, функций, классов
}

После этого получить доступ к членам пространства имён можно следующим образом ИМЯ_ПРОСТРАНСТВА_ИМЁН.ИМЯ_Ч ЛЕНА. Это нужно например для того, чтобы другие разработчики могли использовать ваш код не боясь переопределить какие-либо переменные. Это становится особенно актуально если объём кода исчисляется сотнями сток. В JS, как таковых пространств имён нет, но их можно эмулировать за счёт областей видимости объектов. Если мы помещаем все переменные и функции методы с объект my_obj, то обратиться к ним можно только используя имя объекта. Например:
// Создание объекта
var o = new Object();

// Добавление и определение свойства (переменной)
o.test = 5;

alert(o.test);


Вообще объектно ориентированное программирование в JS отличается от мнногих других языков и ИМХО разираться с ним лучше не с JS, а взять книгу по C++, так проще понять зачем вся эта канетель.

Цитата:

как Модули
подскажите страницу на которой это написано

Deniskan 06.03.2010 19:23

Цитата:

Сообщение от Tim (Сообщение 46971)
подскажите страницу на которой это написано

197

Tim 06.03.2010 21:51

Здесь имеется ввиду библиотека функций/фреймворк. Например такой как jQuery, Dojo, mootols, Prototype.

Цитата из книги: Этот фрагмент иллюстрирует первое правило разработки JavaScript-модулей: модуль никогда не должен выставлять больше одного имени в глобальном пространстве имен.

Обеспечение этого требования достигается благодаря помещению всех переменных и функций в объект.

не должен выставлять больше одного имени в глобальном пространстве
Это имя - имя объекта. В контексте объекта, переменная называется свойством, а функция - методом.

Deniskan 08.03.2010 19:25

Т.е jQuery - это просто функции, которые кто-то написал, и их теперь все используют?

Tim 08.03.2010 20:49

Цитата:

Сообщение от Deniskan (Сообщение 47157)
Т.е jQuery - это просто функции, которые кто-то написал, и их теперь все используют?

Да, это просто библиотека способная существенно упростить жизнь :) Однако, выжать из неё 100% кпд можно только глубоко изучив JavaScript.

Deniskan 09.03.2010 20:21

А что, эта библиотека как-то стандартизована, если её в браузере применяют. Ведь если я сейчас напечатаю свою библиотеку из нескольких функций, то все пользователи не смогут вызывать из нее функции, ведь так?


Часовой пояс GMT +3, время: 07:26.