Не работает скрипт с 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> Что делать? |
Народ я немного ошибся, код перестает работать при любом доктайпе. Что за бред?
|
|
библиотека это конечно хорошо, но гораздо удобнее этот код использовать (он на много короче и проще). Но я не могу оставлять страницу без доктайпа((
|
Попробуйте вместо pixelLeft и pixelTop указать left и top соответственно. Ну и вырезать из этих свойств постфикс 'px'.
|
Не помогло. Все тоже самое.
|
Если туда вписать alert на selectedX и Y, что он при этом выдаёт?
|
Цитата:
Основы программной анимации на JavaScript Цитата:
|
ПЫСЫ: Я писал Drag&Drop. Приведенный говнокод работать и не должен.
http://javascript.ru/ui/draganddrop Не хочешь не читай. Я не помогаю экономистам исправлением их поделок. Возьми другой код из сети для экономии времени. http://jqueryui.com/draggable/ |
принял я к сведению всю вашу критику. Взял код из статьи... не работает. Я не знаю что делать. Все тоже самое работает только без доктайпа, может из за того что html файл генерируется при помощь php. Но там просто добавляются определенные строки и с заголовками там ничего не делается.
|
shtopor, лучше возьмите скрипт на jquery их в сети куча, потому что хтмл 5 очень плохо подерживаеться некоторыми браузерами
|
да в этом та и проблема, я попробовал забить на html5 и поставить другой доктайп (соответственно переписав теги). Но все тоже самое... без доктайпа норм, а с ним ж***
|
Все, тему закрывайте. Всем огромное спасибо)))) Безумно помогли. Код из статьи работает безупречно (с html 5). Если что ошибка получилось когда переписывал код из статьи.
|
Кстати времени нифига не с экономил(
|
Часовой пояс GMT +3, время: 18:51. |