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 :: Растягивание div и вложенного в него img мышкой. Ie тупит. Помогите разораться.

 PHP.SU

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


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

> Описание: Есть div, в нем размещен img. По нажатию мышкой скрипт начинает отслеживать перемещения курсора и изменять размеры div'a и img'а.
terexoff
Отправлено: 14 Марта, 2011 - 17:49:23
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2011  


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




Есть div, в нем размещен img. По нажатию мышкой на div скрипт начинает отслеживать перемещения курсора по окну и изменять размеры div'a и img'а. В FF и Опере все замечательно работает, а IE - тупит: позволяет скрипту отработать несколько пикселов, а потом сбоит.
Если картинку убрать или сделать меньше дива, то IE тупит только если щелчок мышкой был по изображению, а если по div'y, то его он масштабирует корректно. Такое впечатление, что IE после небольшого смещения мыши после нажатия на картинку начинает "тащить" эту картинку (показывает перечеркнутый круг), что сбивает скрипт. Помогите разобраться с этой неприятностью
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title></title>
  4. </head>
  5.  
  6. <body>
  7. <script type="text/javascript">
  8. function $(v) { return(document.getElementById(v));}
  9. function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0));}
  10. function xy(e,v) { return(v?(agent("msie")?event.clientY+document.body.scrollTop:e.pageY):(agent("msie")?event.clientX+document.body.scrollTop:e.pageX));}
  11.  
  12. function spanOBJ(d,e) {
  13.                 function span(e) {if(!stopspan) {d.style.width=(dX=(xy(e)+hX-eX+"px")); d.style.height=(dY=((xy(e)+hX-eX)*koef+"px"));
  14.                 d.firstChild.style.height=dY; d.firstChild.style.width=dX;}              
  15.                 }
  16.                 var hY=parseInt(d.style.height),hX=parseInt(d.style.width), koef=hY/hX, eX=xy(e),dX, dY, stopspan;
  17.                 document.onmousemove=span;
  18.                 document.onmouseup=function()
  19.                         {
  20.                         stopspan=1;
  21.                         document.onmousemove="";
  22.                         document.onmouseup="";
  23.                         };
  24. }
  25. </script>
  26.  
  27. <div style="background: #ee9999; height: 120px; width: 178px; position: absolute;" onmousedown="spanOBJ(this,event); return false;"><img src="http://img.yandex.net/i/www/logo.png" style="height: 120px; width: 178px;"></div>
  28.  
  29. </body>
  30. </html>

(Добавление)
Проблема решена!
Необходимо запретить браузеру реагировать на перетаскивание элемента, для этого, используем обработчик события: ondragstart="return false";
 
 Top
JustUserR
Отправлено: 16 Марта, 2011 - 16:45:58
Post Id



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


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


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




terexoff Использование обозревателя Internet explorer в вариантах реализации начиная с версии 5.5, обеспечивает возможность внедрения предшествующий управляющих фунциональных JS-элементов и объектов декларации поведения, на основании которых возможно получения делегированных объектов вложенного уровня трактования исполнения web-страницы
В силу указанной причины для осуществлении определения реальных управляющих функциональных блоках, основанных на ассоцииации с базовыми агрегационными событиями, требуется использование фиксации единственной функции или группы синхнронизируемых элементов по отношению к безинерционному параметроу относительно установки property-элемента без переключения контекста потока исполнения


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



Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Сент. 2010  


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




Такие функции за вас уже давно написали - jQueryUI

(Отредактировано автором: 23 Марта, 2011 - 22:54:36)

 
 Top
JustUserR
Отправлено: 24 Марта, 2011 - 17:38:41
Post Id



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


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


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




ShuvaL пишет:
Такие функции за вас уже давно написали - jQueryUI
Использование средств jquery framework, осуществляющего константное определение и исполнение предполагаемых действий в разделеном внешнем элементном уровне трактования, относительно которого не обеспечивается требуемая синхронизация для интегрируемых значений статических связных фунциональных обеъектов обработки базовых событий, и внедряемых координационных элементов в среднем уровне трактования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный 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