Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Cкрипт в IE работает, а в Opera нет (https://javascript.ru/forum/dom-window/2727-ckript-v-ie-rabotaet-v-opera-net.html)

Camomile 04.02.2009 17:55

Cкрипт в IE работает, а в Opera нет
 
Привет всем! Прошу о помощи... Столкнулась с проблемой: скрипт нормально работает в експлоуере, а в опере работает странным образом.
Задача состоит в том чтобы передвигать объект (в данном случае работаю из слоями) -- Drag & Drop. В опере передвигаемый слой при перетаскивании изменяет цвет фона, а именно закрашивает его в свой цвет! вот скрипт:


........................
<div id="form" style="position: absolute; left: 100px; top: 101px; font-size: 180%; background-color: #00FF66; width: 75%; height: 75%;">
<div id="button" style="position: relative; top: 102px; left: 65px; width: 100px; height: 100px; background-color: #CCCCCC; cursor: move; border: #000000 solid thin" ></div>
</div>  

</body>

<script type="text/javascript"> 
 var mX,mY; 
 var button =  document.getElementById('button');
 var form = document.getElementById('form');  
 var dragflag = false;
 
 var X, Y; 
 var riznX, riznY;
 
 button.onmousedown = function(event)
 {
   event = event || window.event;
   X = parseInt(button.style["left"]); 
   Y = parseInt(button.style["top"]);    
   x = parseInt(event.clientX)-form.offsetLeft;  
   y = parseInt(event.clientY)-form.offsetTop;  
   riznX = x-X;      
   riznY = y-Y;
   dragflag = true;
 }
 form.onmouseup = function (event)
 {  
   event = event || window.event;   
   dragflag = false;  
 }
 form.onmousemove = function (event)
 {
   event = event || window.event;   
   if (dragflag == true)
   {
   mX = event.clientX;
   mX -= form.offsetLeft; 
   mX -= riznX;  
   mY = event.clientY;
   mY -= form.offsetTop;   
   mY -= riznY;
   button.style.top = mY;
   button.style.left = mX;      
   }          
 }


...............

Буду признательна если укажете возможные причины проблемы :)

x-yuri 08.02.2009 04:08

у меня в Опере (последней) ничего не закрашивается
могу предложить попробовать какую-нибудь библиотеку, в которой drag'n'drop уже реализован, например, jquery


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