Тема: Google Chrome
Показать сообщение отдельно
  #36 (permalink)  
Старый 17.09.2008, 22:18
Интересующийся
Отправить личное сообщение для Олег Посмотреть профиль Найти все сообщения от Олег
 
Регистрация: 13.09.2008
Сообщений: 23

Cейчас проверил простой скриптик, который изменяет положение окна (эффект перемещения мышью):

Код:
//написано на jQuery
// uwin  - див, на котором щелкают для передвижения
// mwin  - основной див, который и движется

function movebale () {

 mwin = this;
 uwin = $('.imt_up',mwin);

var move=0;
var xo;
var yo;

function mousedownmove(e)
{
 move=1;
 xo = e.pageX;
 yo=e.pageY;
 return this;
}

function mousemove(e)
{
if (move)
{
 $(mwin).css('left',parseInt($(mwin).css('left'))-xo+e.pageX);
 $(mwin).css('top',parseInt($(mwin).css('top'))-yo+e.pageY);
 xo = e.pageX;
 yo=e.pageY;
}
}
function mouseup ()
{
move = 0;
resize = 0;
return this;
}


$(uwin).bind('mousedown',mousedownmove);
$(document).bind('mousemove',mousemove).bind('mousemove',mousemove);
$(document).bind('mouseup',mouseup).bind('mouseup',mouseup);


}
соответственно цсс
Код:
.mwin  {
position:absolute;
}
Прикол в том, что он не работает только в обсуждаемом браузере (хотя, в ие не тестил ибо .... ). Посмотрел в "Меню->Разработчикам->КонсольДжаваскрипт" - у свойств left и top стоит "auto" даже после выполнения скрипта.
Похоже, что глюк там в том, что если свойства явно не заданы где-то в цсс, то через яваскрипт эти свойства изменить нельзя, т.к. исправил на нижеследующий код цсс и все заработало.

Код:
.mwin  {
position:absolute;
left:1px;
top:1px;
}

Добавлено:
Потом, все-тки понял в чем тут у меня дело. Оказывается, если left и top не определены первоначально, то браузеры при обращении к этим свойствам вернут положение, рассчитанное ими самими, однако, Chrome и ie возвращают не расположение, auto и undefined соответственно.

Последний раз редактировалось Олег, 17.09.2008 в 23:40.
Ответить с цитированием