如何在图像的特定点显示注释
How to display notes at specific points of an image?
明白我的意思:
请查看以下网站:http://bikeboard.at/Board/Fesche-Waesche-Bikewear-2015-th211009(并搜索术语"Smith Overtake")。
现在你可以在文本上方看到一个图像,上面有几个标记(圆圈)。当你将鼠标悬停在其中一个图像上时,会在图像的该部分显示带有附加信息的注释。
我主要对输出感兴趣,而不是输入/编辑标记。
我发现了一个名为imgNotes的jQuery插件,它做了类似的事情。但由于它的编辑器功能,它似乎是多余的。
注释应该包含图片、文字和到另一个页面的链接。
你还知道其他可能的解决方案吗?
如果你已经自己解决了这个问题,那就太好了——如果你能分享一些代码就太棒了!
这是一个纯jquery、无css的实现。它可以使用一些润色和接受一些配置选项,但你得到了大致的想法:)。
$.fn.addNotes = function(notes){
var $img = $(this);
var pos = $img.position();
var w = $img.outerWidth();
var h = $img.outerHeight();
var offsetX = pos.left;
var offsetY = pos.top;
var $imgparent = $img.parent();
$imgparent.on('mouseenter','.point', function(){
$(this).next('.note').show();
}).on('mouseout', '.point', function(){
$(this).next('.note').hide();
});
$.each(notes, function(idx,note){
var $point = $('<div/>').addClass('point').css({
position:'absolute',
left: (Number(offsetX)+note.pos.x)+'px',
top: (Number(offsetY)+note.pos.y)+'px',
width: '10px',
height: '10px',
borderRadius: '10px',
background:'#f00'
});
var $note = $('<div/>').addClass('note').html(note.note).css({
position:'absolute',
left: 15+(Number(offsetX)+note.pos.x)+'px',
top: (Number(offsetY)+note.pos.y)+'px',
background:'#fff',
padding:'5px'
}).hide();
$img.after($point);
$point.after($note);
});
};
示例用法:var notes = [
{ pos: { x: 100, y: 100 }, note: 'Hello world!' },
{ pos: { x: 200, y: 100 }, note: 'Hello Harry!' },
{ pos: { x: 100, y: 200 }, note: 'Hello Ron!' },
{ pos: { x: 300, y: 300 }, note: 'Hello Hermione!' }
];
$('img').addNotes(notes);
正如hm_ngr在评论中指出的那样:我们使用简单的CSS解决了这个问题,根本没有使用JavaScript。
- 点通过百分比使用左/上定位。这使得创建响应输出成为可能。
- 注释是简单的div,仅在
:hover
上可见
点和注释的输入是一个自定义实现,它通过百分比在我们的数据库中存储左/顶坐标(poster 1:n poster_points)。
相关文章:
- 谷歌表格注释时间线显示精确的值
- 未注释img´除非调整浏览器大小、缩放或打开开发工具,否则不会显示
- 如何在JavaScript中显示注释线程层次结构
- 绘图注释未显示在正确的位置
- 在 AngularJS 中显示多个注释
- 用我的ajax代码来显示注释
- 如何添加一个显示/隐藏注释链接不工作与下划线.js
- 如何在图像的特定点显示注释
- 在文本区域添加注释,并使用“编辑”和“删除”按钮显示文本
- 错误:通过ajax(从数据库)显示注释(laravel 5.2)
- 如何用AJAX告诉PHP在文章下面显示哪些注释
- 显示页面的注释,但不允许添加新的注释
- 谷歌图表注释不显示
- 在网页中显示长文本区域注释
- 显示带有Internet Explorer条件注释的javascript警报
- 高亮选择与注释,显示在悬停和可编辑
- 文本突出显示和添加注释功能在epub阅读器ios
- 如何为ReSharper注释以便智能感知显示文档
- 悬停在上面时显示打印线长度的注释
- 在Chrome扩展中使用qTip显示注释