gpt4 book ai didi

javascript - 单击图像,获取坐标并将其保存在数据库中 JavaScript 和 Rails

转载 作者:行者123 更新时间:2023-11-28 09:48:41 25 4
gpt4 key购买 nike

我有一点 JS 和 Rails 问题。我目前正在使用此代码用正方形标记图像:

<html>
<head>
<script language="JavaScript">
function point_it(event){
pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("pointer_div").offsetLeft;
pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("pointer_div").offsetTop;
document.getElementById("cross").style.left = (pos_x-1) ;
document.getElementById("cross").style.top = (pos_y-15) ;
document.getElementById("cross").style.visibility = "visible" ;
document.pointform.form_x.value = pos_x;
document.pointform.form_y.value = pos_y;
}
</script>
</head>
<body>
<form name="pointform" method="post">
<div id="pointer_div" onclick="point_it(event)" style = "background-image:url(<%= asset_path 'mamma.jpg' %>);width:900px;height:720px;">
<img src=<%= asset_path 'point.gif' %> id="cross" style="position:relative;visibility:hidden;z-index:2;"></div>
You pointed on x = <input type="text" name="form_x" size="4" /> - y = <input type="text" name="form_y" size="4" />
</form>
</body>
</html>

它的工作原理是这样的:有一张大图片(mamma.jpg),当我单击这张图片上的任意位置时,脚本将在文本字段中显示下面的单击坐标。另外,我点击的图片上应该会出现一个正方形。

现在我有两个问题:1)无论我点击哪里,正方形都只会出现在图片的左上角。有简单的解决办法吗?

2)我需要将坐标保存在数据库中,当我记忆此页面时,正方形应该出现在我最后单击图像的位置。该图像是表单的一部分(我也使用 formattastic)。

现在我知道 Rails 是服务器端的,JS 是客户端的,我只是不能让它们直接通信,但是还有一个简单的修复方法吗?或者我是否必须通过我的 Controller 来实现这一点?

提前致谢!

最佳答案

使用已有的库来绘制矩形。

尝试JCrophttp://odyniec.net/projects/imgareaselect/

查看this的源码应用程序中,它生成 x 和 y 以及 CSS sprite 的宽度和高度。

关于javascript - 单击图像,获取坐标并将其保存在数据库中 JavaScript 和 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com