gpt4 book ai didi

jquery - 如何在提交表单时将图标/图像叠加到另一个图像上?

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

因此,一旦有人“标记”了图像的一部分 - 即他们提交了表单,我就尝试向图像添加图标。

我如何在 jQuery 中做到这一点?

需要说明的是...假设您在 flickr 上看到一张图片。你想添加一个注释,你点击你想要的图像,它会显示一个表单域。您输入所需的信息,完成后,图片上方会留下一个小图像,显示您发表评论的位置。

有什么想法吗?

编辑 - 查看代码:

    <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 比较陌生,很难将各个部分组合在一起。

最佳答案

一个简单、透明的 PNG 就可以了。假设包含图像列表的标记如下所示:

<ul id="img_list">
<li>
<img src="image.jpg" alt="Image Title" />
<img class="icon" src="annotation.png" alt="You've done XYZ to this." />
</li>
<!-- List continues... -->
</ul>

你可以这样设计它:

#img_list li {
display: block;
width: 50px;
height: 50px;
position: relative;
}

#img_list .icon {
width: 10px;
height: 10px;
position: absolute;
z-index: 2;
top: 0;
left: 0;
}

如果你想在 jQuery 中动态添加它,你可以在你的表单的提交成功回调中做这样的事情:

$icon = $("<img class='icon' src='annotation.png' alt='You've done XYZ to this.' />");
$("#img_list li.active").append($icon); // assuming you set class active on the item that's being edited

编辑:确切的功能/样式/标记取决于您网站的外观。由于用户正在浏览图像,我想您会希望使用 AJAX 来提交表单,这样它们就不会丢失它们的位置。如果您有一些我可以查看的代码,我会更精确。

此外,如果有很多不同的图标,您应该使用 CSS sprites 并向图标添加第二类以确定使用哪个 sprite。


编辑 2:This有比我能提供的更多的信息。你只需要在这里和那里修改一些代码就可以得到你想要的效果,但是你可以很容易地添加透明星号作为 SubmitTag 函数的一部分,你只需要拉目标位置(我认为他为此使用变量 targetX 和 targetY)并在标签图标上设置 left 和 right。

关于jquery - 如何在提交表单时将图标/图像叠加到另一个图像上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752453/

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