javascript - 将图像移动到预定义的 x,y 位置

标签 javascript jquery html css

我正在为用户构建一个自定义位置选择器,它本质上是一张 map (图像)和一个用户输入其国家/地区的文本输入。自定义 map 大约为 1500x1000 像素。最终目标是将 map 缓慢地自动滚动到选定国家/地区的某个预定义的 x,y。比方说,我如何定义德国位于 700x800,并在用户从下拉列表中选择该国家/地区时将 map 图像围绕该点居中?

这是我的 fiddle ,其中包括可移动 map (我没有在这里添加任何代码,因为它很长,请原谅并使用 fiddle 浏览代码)

最佳答案

为此使用 Position 对象。假设

var germany = new Position(-700,-800);

您可以使用其余代码设置位置:

germany.Apply(document.getElementById('draggableElement'));

虽然我猜它会设置左上角的位置而不是中心,所以你需要记住这一点。

编辑:将数字更改为负数,因为这实际上会将图片向上和向左移动,我认为这是您想要的行为。

出于演示目的,我在您的 Fiddle 中添加了一个按钮.虽然这绝对不是德国 ;)

编辑2: 要使用 jQuery 的 animate 为位置变化设置动画,只需使用以下语法:

$('#draggableElement').animate({
    left: germany.X,
    top: germany.Y
});

另请参阅更新的 JSFiddle .

关于javascript - 将图像移动到预定义的 x,y 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30219625/

相关文章:

javascript - 使用 XPath 查找节点后面的文本节点

javascript - 图片点击无效

javascript - 为什么使用导入/导出时箭头函数不起作用

javascript - 为什么javascript : on webview lead to a new page?

javascript - Cuffon 未定义。 IE7 和 IE8 上的 JavaScript 错误

javascript - 在 post 请求中保留用户生成的 HTML 的最佳方式?

javascript - 数据名称添加数据html标签

javascript - 无法将文本框值分配给 jquery 中的另一个文本框

javascript - 如何淡出/淡入 slider 中的内容

jquery - 向所有表单元素添加只读属性