Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #241 (permalink)  
Старый 09.08.2011, 22:14
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

прошу прощения - бред написал выше
Ответить с цитированием
  #242 (permalink)  
Старый 10.08.2011, 00:39
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Всем привет.
<!DOCTYPE HTML 4.0>
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<style>
v\:*{behavior: url(#default#VML);}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<script type="text/javascript">
var shape = document.createElement('v:shape');
document.body.appendChild(shape);
var formulas = document.createElement('v:formulas');
formulas.className = 'c';
shape.appendChild(formulas);
shape.coordsize = "500,500";
shape.style.position = 'absolute';
shape.className = 'c';
shape.fillcolor="red";
shape.style.width = '500px';
shape.style.height = '500px';
var path = "m 100,100 l 200,300 300,400 200,100 x e ns"
shape.setAttribute('path',path);
</script>
</body>

</html>

Данный код рисует изображение только при условии !DOCTYPE HTML 4.0 или вообще без доктайпа, но как заставить его нарисовать картинку с использованием DOCTYPE HTML или HTML 5.0? Народ прошу откликнетесь, знаю что тема малоинтересная, но все же.
Ответить с цитированием
  #243 (permalink)  
Старый 10.08.2011, 04:39
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<!DOCTYPE HTML>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />
<html>
<head>
<style>
v\:shape{behavior: url(#default#VML);}
v\:formulas{behavior: url(#default#VML);}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<script type="text/javascript">
var shape = document.createElement('v:shape');
document.body.appendChild(shape);
var formulas = document.createElement('v:formulas');
formulas.className = 'c';
shape.appendChild(formulas);
shape.coordsize = "500,500";
shape.style.position = 'absolute';
shape.className = 'c';
shape.fillcolor="red";
shape.style.width = '500px';
shape.style.height = '500px';
shape.path = "m 100,100 l 200,300 300,400 200,100 x e ns";
//shape.setAttribute('path',path);
</script>
</body>

</html>


IE 8 css свойство вида: v\:* не понимает, нужно указывать явно названия элементов.
задавать path через .setAttribute в ИЕ не надо. Он так работать не будет, нужно обращаться на прямую shape.path
ну и как видишь namespace нужно указывать в xml теге а не в html

что бы не прописывать XML тег и не писать стили, это можно сделать через javascript:
try {
	if (!document.namespaces.v) {
		document.namespaces.add("v", "urn:schemas-microsoft-com:vml");
	}
} catch (e) {}

document.v_shape_stylesheet = document.createStyleSheet();
document.v_shape_stylesheet.addRule("v\\:shape", "behavior: url(#default#VML);");
document.v_shape_stylesheet.addRule("v\\:formulas", "behavior: url(#default#VML);");

Удачи!

Последний раз редактировалось devote, 10.08.2011 в 04:44.
Ответить с цитированием
  #244 (permalink)  
Старый 10.08.2011, 13:34
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

devote,
от спасибо за исчерпывающий ответ!
Ответить с цитированием
  #245 (permalink)  
Старый 11.08.2011, 01:48
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Всем привет! Вот балуюсь дальше с канвасом. Получил какой-то зэбский эфект при добавлении стилей к самому канвасу.
<body>
<script type="text/javascript">
	var cnvs =  document.createElement('canvas');
	document.body.appendChild(cnvs);
	cnvs.style.height = "1000px";
	cnvs.style.width = "1000px";
	
	var c = cnvs.getContext('2d');
	c.fillStyle = "#f00";
	c.fillRect(10,10,100,100);
	c.fill();
</script>
</body>

В итоге квадрат не квадрат да еще и замылинный, так сказать "блур".
Кто-нибудь встречал подобный прикол?

UPD
Если писать в процентах ширину и высоту то прикол работает более верно.
<body>
<script type="text/javascript">
	var cnvs =  document.createElement('canvas');
	document.body.appendChild(cnvs);
	cnvs.style.height = "200%";
	cnvs.style.width = "200%";
	
	var c = cnvs.getContext('2d');
	c.fillStyle = "#f00";
	c.fillRect(10,10,100,100);
	c.fill();
</script>
</body>

Последний раз редактировалось UpJump, 11.08.2011 в 01:53.
Ответить с цитированием
  #246 (permalink)  
Старый 11.08.2011, 01:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

хм.. размытие без флеша и сильверлайта? в JS ?

заманчиво, UpJump !
Ответить с цитированием
  #247 (permalink)  
Старый 11.08.2011, 02:05
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

melky,
мне тоже эта темка по душе, но блин не может же быть это просто положительным побочным эффектом, хотя сколько не читал про канвас ничего подобного не видел.
Ответить с цитированием
  #248 (permalink)  
Старый 11.08.2011, 02:10
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

не могу про это нагуглить

нашел блур для картинок, блур даже для страницы html

последнее повергло в шок. это чо ?

насчет последнего : это трюк с css.

смотри стили у элемента с id="overlay"
Ответить с цитированием
  #249 (permalink)  
Старый 11.08.2011, 02:15
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

ну да юмор.
Ответить с цитированием
  #250 (permalink)  
Старый 11.08.2011, 02:34
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от melky Посмотреть сообщение
хм.. размытие без флеша и сильверлайта? в JS ?

заманчиво, UpJump !
Это ещё семечки Поиграй например в http://media.tojicode.com/q3bsp/
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



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

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