01.07.2012, 21:36
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
тут дело не в css , а именно js , я этот код выдрал из своего color picker где он прекрасно работает.
решил что сделаю проверку.
кстати этот код работает в опере 11.61 (поставил себе наконецто).
в том коде что ты дал ссылку нужно юзать jQuery а принципиально пишу без них=)
и кстати анимацию будет легко сделать так как у меня уже есть начальная позиция элемента и текущая, короче можно в отдельный файл выносить анимацию=)
|
|
01.07.2012, 21:40
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
animate: function(){
var time = 1;//длительность анимации в секундах
drag.obj.style.left = old.X+"px";
drag.obj.style.top = old.Y+"px";
cls.addClass(drag.obj,"animate_for_old_postion");
return (time*1000) - 100;
}
time = action.animate();
setTimeout(function(){
old.state()
cls.removeClass(drag.obj,"animate_for_old_postion");
},time);
|
|
01.07.2012, 21:45
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
cyber,
Я тьву и css дал -уже подстроенный под тьву
|
|
01.07.2012, 21:47
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Deff
|
cyber,
Я тьву и css дал -уже подстроенный под тьву
|
а по русски?
|
|
01.07.2012, 21:50
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
не работает даже в хроме
<style type="text/css">
img[unselectable]{
transition-property:left,top;
-webkit-transition-property:left,top;
-moz-transition-property:left,top;
-o-transition-property:left,top;
-ms-transition-property:left,top;
transition-duration: 0.06s;
-webkit-transition-duration: 0.06s;
-moz-transition-duration: 0.06s;
-o-transition-duration: 0.06s;
-ms-transition-duration: 0.06s; /* IE9+ */
}
</style>
кстати не работает по тому что не указан тип анимации=)
Ладно пошел за пивом, а то скоро футбол=)
Последний раз редактировалось cyber, 01.07.2012 в 22:08.
|
|
01.07.2012, 22:12
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от cyber
|
не работает даже в хроме
|
В опере работает http://hostjs-mybb2011.narod.ru/cyber.htm
Но появляются траблы - нун отслеживать скорость перемещения (даж без нажатия мыши) - ты её пульнул - а она при "нахождении над" - должна упасть(притянуться) в корзину или вернуться(после 0 скорости) т.е тестить попадание в корзину при наличии скорости даже при отсутствии нажатости
Замечу, что css-анимация в Опере начинает запускаться через только минуту
Последний раз редактировалось Deff, 02.07.2012 в 00:28.
|
|
01.07.2012, 23:03
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Пришел к выводу, о необходимости события: - объект в движении...
Извернутый способ - закрепить к mousedown-отому" объекту пиксельную прозрачку так:
чтобы прозрачка изначально упиралась в верхний -нижний край экрана(высота:100%):
- и отслеживать событие: скролл экрана.
Есть плюс от этого:- перемещающийся объект будет вcегда в зоне видимости;
Откреплять прозрачку при падении в корзину или возврате в исходную позицию
Последний раз редактировалось Deff, 02.07.2012 в 00:27.
|
|
02.07.2012, 00:30
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Deff
|
В опере работает http://hostjs-mybb2011.narod.ru/cyber.htm
Но появляются траблы - нун отслеживать скорость перемещения (даж без нажатия мыши) - ты её пульнул - а она при "нахождении над" - должна упасть(притянуться) в корзину или вернуться(после 0 скорости) т.е тестить попадание в корзину при наличии скорости даже при отсутствии нажатости
Замечу, что css-анимация в Опере начинает запускаться через только минуту
|
да я это все уже решил=)
up : function(evt){
var last_posX, last_posY, drop_elem, e, time;
if(!drag.obj)return
e = evt || event;
action.mouseup = true;
Event.removeListener(document,"mousemove", action.move_wrap,false);
Event.removeListener(document,"mouseup", action.up,false);
if(drop.lastElem){
drop_out.call(drop.lastElem, drag.obj);
}
unselect.remove(drag.obj);
drag.obj.style.zIndex = '';
drag.status = false;
drop_elem = action.serchAttr_drop(e.clientX,e.clientY);//проверка собтие mouseup произошло над drop блоком || нет
if(drop_elem){
action.count++;
elemnt_drop.call(drag.obj, drop_elem);
if(action.auto != "stop" && param.auto_size) {
action.width_height(drop_elem);
}
} else {
old.parent.insertBefore (drag.obj,old.nextSibl);
time = action.animate();//вот эта функция и timeout есть решение=)
setTimeout(function(){
old.state()
cls.removeClass(drag.obj,"animate_for_old_postion");
},time);
};
},
animate: function(){
var time = 1;//длительность анимации в секундах
drag.obj.style.left = old.X+"px";
drag.obj.style.top = old.Y+"px";
cls.addClass(drag.obj,"animate_for_old_postion");
return (time*1000) - 100;
},
|
|
02.07.2012, 00:31
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
но начинаются какие траблы с работай везде кроме хрома=)
|
|
|
|