Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Drag-n-Drop с использованием jquery

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: глюки
Phantik
Отправлено: 09 Февраля, 2010 - 21:53:09
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Написал простое перетаскивание дива по экрану:

http://as3[dot]web-prog[dot]com/dnd.php

Возникло несколько проблем. Идеально работает только в IE8. В других браузерах появляется ряд проблем:

Например если двигать мышью слишком быстро, то окно не успевает за мышью и отрывается. После этого возникают некоторые глюки с перетаскиванием в целом и в частности. То начинает перетаскиваться без нажатия, то вобще не хочет перетаскиваться, то снова нормально, пока скорость мыши не большая. Так же во всех браузерах кроме IE8 курсор меняется криво и не понятно в какие моменты. Но в основном почему то в cursor : text;

Если есть возможность посмотреть в IE8 - то это идеал, которого я хочу добиться в остальных браузерах.

Что нужно поправить в данном коде или в основной идее данного алгоритма?
Заранее благодарен.

P.S. Перетаскивать за верхнюю полоску окна.
(Добавление)
Еще заметил 1 нюанс. Что див не успевает за мышью только при движении курсора вверх. При движении курсора в другие стороны, окно за мышью всегда успевает.
 
 Top
valenok
Отправлено: 10 Февраля, 2010 - 07:56:25
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Можете воспользоваться jquery UI draggable
или поискать о том, как предотвратить выделение текста


-----
Truly yours, Sasha.
 
My status
 Top
JustUserR
Отправлено: 10 Февраля, 2010 - 09:37:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Phantik пишет:
Если есть возможность посмотреть в IE8 - то это идеал, которого я хочу добиться в остальных браузерах
Это действительно самый лучший бразуер на текущий момент - я не пишу ИМХО потому что его функционал и производительность объективно выигрышная Улыбка
Phantik пишет:
Еще заметил 1 нюанс. Что див не успевает за мышью только при движении курсора вверх
Наверное это особенность алгоритмов библиотеки jquery - попробуйте также повысить частоту времени реагирования с помощью понижения величина timeout в функции window.setTimeout
Также надо чтобы окно имело параметры display:block и position:absolute чтобы браузер не пересчитывал другие компоненты и тогда перемещения будет максимально быстрым
Если само перемещаемое окно достаточно большое по количеству содержимого то лучше перемещать его рамку а при остановке drag-drop-а уже показывать окно в новом месте


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Phantik
Отправлено: 10 Февраля, 2010 - 10:54:37
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Все оказалось гораздо проще

Поставил $(document).bind("mousemove",MouseMoveEvent);
вместо $("body").bind("mousemove",MouseMoveEvent);

Работает как надо: http://as3[dot]web-prog[dot]com/dnd2.php

Остался только маленький глючок. В Хроме курсор меняется на cursor : text вместо
cursor : move.
 
 Top
JustUserR
Отправлено: 10 Февраля, 2010 - 16:15:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Phantik пишет:
В Хроме курсор меняется на cursor : text вместо cursor : move.
Может в chrome нет встроенного курсора для указания стрелок передвижения - попробуйте сохранить курсор в файл и рагружать его в CSS-свойство через URL - также можно заранее подгружить его при загрузке документа Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Phantik
Отправлено: 10 Февраля, 2010 - 16:30:09
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




А какой будет синтаксис?
Что то вроде

div#window
{
....
cursor : img('/images/mycursor.png');
....
}

?
 
 Top
JustUserR
Отправлено: 11 Февраля, 2010 - 14:55:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Phantik пишет:
А какой будет синтаксис?
Немного не так - а именно для div-слоя с идентификатором widnow будет такой стиль div#windows {cursor:url('/path/to/image')} - кстати это стандартный синтаксис CSS для указания URL-адресов файлов - такое же есть при указанни пути в картинке для фона


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB