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
Форумы портала PHP.SU :: Версия для печати :: Растягивание div и вложенного в него img мышкой. Ie тупит. Помогите разораться.
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Растягивание div и вложенного в него img мышкой. Ie тупит. Помогите разораться.

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

1. terexoff - 14 Марта, 2011 - 17:49:23 - перейти к сообщению
Есть 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";
2. JustUserR - 16 Марта, 2011 - 16:45:58 - перейти к сообщению
terexoff Использование обозревателя Internet explorer в вариантах реализации начиная с версии 5.5, обеспечивает возможность внедрения предшествующий управляющих фунциональных JS-элементов и объектов декларации поведения, на основании которых возможно получения делегированных объектов вложенного уровня трактования исполнения web-страницы
В силу указанной причины для осуществлении определения реальных управляющих функциональных блоках, основанных на ассоцииации с базовыми агрегационными событиями, требуется использование фиксации единственной функции или группы синхнронизируемых элементов по отношению к безинерционному параметроу относительно установки property-элемента без переключения контекста потока исполнения
3. ShuvaL - 23 Марта, 2011 - 22:54:19 - перейти к сообщению
Такие функции за вас уже давно написали - jQueryUI
4. JustUserR - 24 Марта, 2011 - 17:38:41 - перейти к сообщению
ShuvaL пишет:
Такие функции за вас уже давно написали - jQueryUI
Использование средств jquery framework, осуществляющего константное определение и исполнение предполагаемых действий в разделеном внешнем элементном уровне трактования, относительно которого не обеспечивается требуемая синхронизация для интегрируемых значений статических связных фунциональных обеъектов обработки базовых событий, и внедряемых координационных элементов в среднем уровне трактования

 

Powered by ExBB FM 1.0 RC1