我正在尝试在图像上添加一个图标,一旦有人“标记”了图像的一部分-即他们提交了表单。我该如何在jQuery中实现这个功能?简单来说……想象一下你在flickr上看到一张图片。您想添加注释,请单击要添加注释的位置,然后它会显示一个表单字段。输入所需信息后,图片上方会留下一个小图标,显示您留下评论的位置。有什么想法吗?编辑-请参见代码:
我想实现的功能是,当用户点击一个区域(他们会看到一个方框,告诉他们他们要标记的位置),然后输入评论,并将评论存储在变量中(目前只是这样),但我希望能够用图像标记图像的区域。在这种情况下,它是一个“星号”。所以我想解决方案必须知道添加评论的坐标或其他信息。我正在研究offset(),但我对jQuery相对较新,很难将所有部分组合在一起。
<script type="text/javascript">
$(function() {
var tag_box = $("<div>").appendTo("body").css({
"width": "40px",
"height":"40px",
"border":"4px solid #000000",
"position":"absolute",
"display":"none",
"padding":"15px"
});
var comment_box = $("<form action='#'><input id='comment' type='text' name='comment' placeholder='Add comment'></form>").appendTo(tag_box).css({"position":"absolute"});
var comment_icon = $("<img src='images/asterisk_yellow.png' width='16' height='16' alt='Comment'>");
$("#image-wrapper").live("click", function(e) {
tag_box.css({
"left": e.pageX - 40,
"top": e.pageY - 40,
"display": "block"
})
.after(comment_box.css({
"left": e.pageX - 65,
"top": e.pageY + 40
}));
return false;
});
$("form").submit(function() {
var params = $(this).serialize();
$("form")[0].reset();
return false;
});
});
</script>
<body>
<div align="center">
<img src="images/image1.gif" width="760" height="182" alt="image1" id="image-wrapper">
</div>
</body>
我想实现的功能是,当用户点击一个区域(他们会看到一个方框,告诉他们他们要标记的位置),然后输入评论,并将评论存储在变量中(目前只是这样),但我希望能够用图像标记图像的区域。在这种情况下,它是一个“星号”。所以我想解决方案必须知道添加评论的坐标或其他信息。我正在研究offset(),但我对jQuery相对较新,很难将所有部分组合在一起。