Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.04.2010, 10:07
Интересующийся
Отправить личное сообщение для hated8 Посмотреть профиль Найти все сообщения от hated8
 
Регистрация: 24.04.2010
Сообщений: 27

Косяк JS в IE
Здравствуйте!
Помогите пожалуйста, не могу разобраться, почему вот такой скриптик прикрасно работает во всех браузерах кроме IE....

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<style>
.sticker{
		
		background-color:Red;
		width:145px;
		height:150px;
		position:absolute;
		z-index:15;
		Top:1px;
		
}
.stitl{
		
		width:100%;
		height:30px;
		position:absolute; 
		cursor:move; -width:100%;
		background-color:Green;
}
.txta{
	  margin-left:5px;
	  margin-Top:30px;
	  background: none;
	  border: none;
	  font-family:Times;
	  color:#916d00;
}
</style>

<script type="text/javascript">
	function drag_object( evt, obj )
	{
		evt = evt || window.event;
		obj.clicked = true;
		obj.mousePosX = evt.clientX;
		obj.mousePosY = evt.clientY;
		if( evt.preventDefault ) evt.preventDefault(); 
		else evt.returnValue = false;
		document.onmouseup = function(){ obj.clicked = false }
		document.onmousemove = function( evt )
		{
			evt = evt || window.event;
			if( obj.clicked )
			{
				posLeft = !obj.style.left ? obj.offsetLeft : parseInt( obj.style.left );
				posTop = !obj.style.top ? obj.offsetTop : parseInt( obj.style.top );
				mousePosX = evt.clientX;
				mousePosY = evt.clientY;
				obj.style.left = posLeft + mousePosX - obj.mousePosX + 'px';
				obj.style.top = posTop + mousePosY - obj.mousePosY + 'px';
				obj.mousePosX = mousePosX;
				obj.mousePosY = mousePosY;
			}
		}
	}
	function setcookie( name, value, timeout )
	{
	    timeout = timeout || 1000*60*60*24;
	    expires = (new Date((new Date).getTime() + timeout)).toUTCString();
	    document.cookie = name + '=' + value + ';expires=' + expires;
	}
	function createSticker()
	{
	 	var elDiv = document.createElement('div');
	 	elDiv.id = 'sticker';
		elDiv.className = 'sticker';
		document.body.appendChild(elDiv); 
		
		elSpn = document.createElement('span');
		elDiv.appendChild(elSpn); 
		elSpn.id = 'stitl';
		elSpn.className = 'stitl';
		elSpn.onmousedown=function(){drag_object(true, this.parentNode);};
	}
</script>


</head>
<body>
<div class=sticker><span class=stitl onmousedown="drag_object(event, this.parentNode)"></span></div>

<a href="#" onclick="createSticker()" >createSticker</a>
</body>
</html>


Заранее благодарю...
Ответить с цитированием
  #2 (permalink)  
Старый 24.04.2010, 10:11
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Что не работает? Ошибки какие-то или что не так?
Ответить с цитированием
  #3 (permalink)  
Старый 24.04.2010, 10:24
Интересующийся
Отправить личное сообщение для hated8 Посмотреть профиль Найти все сообщения от hated8
 
Регистрация: 24.04.2010
Сообщений: 27

Суть скрипта в том что по нажатию на ссылку создаётся динамический div, в нём, ещё один, для указания области захвата для перетаскивания обоих!

Т.Е. как окно и шапка окна(принцип тот же)...

Во всех браузерах норм работает, а в IE создаёт эти элементы, но перетакивание не работает!

Хотя и запускает drag_object() и передаёт в неё необходимые переменные...

Вся соль в том, что в том же IE Если не создавать обьект динамически, а просто прописать его в теле, то тоже все работает!!!
Ответить с цитированием
  #4 (permalink)  
Старый 24.04.2010, 10:52
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

elSpn.onmousedown=function(event){drag_object(event || window.event, this.parentNode);};
Ответить с цитированием
  #5 (permalink)  
Старый 24.04.2010, 10:57
Интересующийся
Отправить личное сообщение для hated8 Посмотреть профиль Найти все сообщения от hated8
 
Регистрация: 24.04.2010
Сообщений: 27

нда, а ларчик просто открывался.... )

VERY !!!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шахматы JS (способы реализации) bass_x Элементы интерфейса 1 07.03.2010 21:36
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Html метки + div + JS boltayka Events/DOM/Window 1 07.09.2009 17:21
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33