Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает скрипт с html 5 (https://javascript.ru/forum/misc/33916-ne-rabotaet-skript-s-html-5-a.html)

shtopor 13.12.2012 23:38

Не работает скрипт с html 5
 
Здравствуйте. Для экономии времени я взял из сети простенький код для drag and drop. Но он отказывается работать с html 5. Точнее он перестает работать когда я указываю доктайп "<!DOCTYPE html>". Вот код:
<div style="position:relative; width:450px; height:125px; cursor:pointer">
 
<img src="bear.jpg" style="position:absolute; left:15px; top:10px"
onmousedown="Move(this)">
 
<div style="position:absolute; left:190px; top:10px; width:170px; 
border: 1px solid; padding:5; text-align:left; background-color:white" 
onmousedown="Move(this)">
Этот компонент имеет постоянный размер.
</div>
 
<div style="position:absolute; left:380px; top:10px" onmousedown="Move(this)">
Этот компонент не имеет постоянный размер.
</div>

</div>

 
<script type="text/javascript">
var SelectedItem;
var SelectedX, SelectedY;
var MouseX, MouseY;
 
function Move(ClickedItem)
{
SelectedItem = ClickedItem;
SelectedX = SelectedItem.style.pixelLeft;
SelectedY = SelectedItem.style.pixelTop;
MouseX = event.clientX;
MouseY = event.clientY;
document.onmousemove = Drag;
document.onmouseup = Drop;
}
 
 
function Drag()
{
SelectedItem.style.left = SelectedX + (event.clientX - MouseX);
SelectedItem.style.top = SelectedY + (event.clientY - MouseY);
return false;
}
 
function Drop()
{
document.onmousemove = null;
document.onmouseup = null;
}
 
</script>

Что делать?

shtopor 14.12.2012 01:12

Народ я немного ошибся, код перестает работать при любом доктайпе. Что за бред?

ruslan_mart 14.12.2012 08:36

http://www.twinhelix.com/javascript/dragresize/demo/

shtopor 14.12.2012 16:09

библиотека это конечно хорошо, но гораздо удобнее этот код использовать (он на много короче и проще). Но я не могу оставлять страницу без доктайпа((

Sanda 14.12.2012 17:14

Попробуйте вместо pixelLeft и pixelTop указать left и top соответственно. Ну и вырезать из этих свойств постфикс \'px\'.

shtopor 14.12.2012 17:18

Не помогло. Все тоже самое.

Sanda 14.12.2012 17:24

Если туда вписать alert на selectedX и Y, что он при этом выдаёт?

Gozar 14.12.2012 17:36

Цитата:

Сообщение от monolithed
4. говнокод взятый из сомнительных источников не может работать корректно!

http://javascript.ru/forum/misc/1308...html#post79265

Основы программной анимации на JavaScript

Цитата:

Сообщение от shtopor
Для экономии времени

Сэкономили?

Gozar 14.12.2012 17:41

ПЫСЫ: Я писал Drag&Drop. Приведенный говнокод работать и не должен.

http://javascript.ru/ui/draganddrop Не хочешь не читай. Я не помогаю экономистам исправлением их поделок. Возьми другой код из сети для экономии времени. http://jqueryui.com/draggable/

shtopor 15.12.2012 00:18

принял я к сведению всю вашу критику. Взял код из статьи... не работает. Я не знаю что делать. Все тоже самое работает только без доктайпа, может из за того что html файл генерируется при помощь php. Но там просто добавляются определенные строки и с заголовками там ничего не делается.


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