我有一个红色 div,用户可以在屏幕上的任意位置单击并拖动它。灰色 div 相对于红色 div 定位,并随着红色 div 的移动而自动更新。使用鼠标滚轮滚动应该会导致红色 div(以及随后的灰色 div)从它们所在的任何位置动画到窗口中心,然后停止。
到目前为止,我有当前坐标、目标坐标和距离,以及以度为单位的角度。他们正在被记录到控制台。
到目前为止我所拥有的:http: //plnkr.co/edit/Oi517Hbat7WgIoOu0oFW
任何帮助,将不胜感激。
我有一个红色 div,用户可以在屏幕上的任意位置单击并拖动它。灰色 div 相对于红色 div 定位,并随着红色 div 的移动而自动更新。使用鼠标滚轮滚动应该会导致红色 div(以及随后的灰色 div)从它们所在的任何位置动画到窗口中心,然后停止。
到目前为止,我有当前坐标、目标坐标和距离,以及以度为单位的角度。他们正在被记录到控制台。
到目前为止我所拥有的:http: //plnkr.co/edit/Oi517Hbat7WgIoOu0oFW
任何帮助,将不胜感激。
用于document.body.clientWidth
获取浏览器窗口的宽度并document.body.clientHeight
获取高度,然后将 div 设置为中心,即:-
var mydiv = document.getElementById('mydivid');
mydiv.top = ((parseInt(document.body.clientHeight) / 2) - (parseInt(myDiv.Height) / 2)) +'px';
mydiv.left = ((parseInt(document.body.clientWidth) / 2) - (parseInt(myDiv.Width) / 2)) +'px';
如果您希望它“滑动”到中心,您可以在 CSS 中添加一些变换样式
div.#mydiv {
-webkit-transition: all 1.0s ease-in-out;
-moz-transition: all 1.0s ease-in-out;
-o-transition: all 1.0s ease-in-out;
-ms-transition: all 1.0s ease-in-out;
transition: all 1.0s ease-in-out;
}
动画移动到中心超过 1 秒的时间范围
你在用jquery吗?
使用 .animate() 你可以告诉它基于 CSS 属性移动(来自http://api.jquery.com/animate/)
$( "#mydiv" ).animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "3em",
borderWidth: "10px"
}, 1500 );