使用位置在图像上添加文本

时间:2012-02-14 11:20:59

标签: javascript jquery html jquery-ui jquery-selectors

我想在图片上动态添加文字。 我试图用javascript / jQuery来做到这一点。 这是代码:

$(document).ready(function()
{
    var img = $("img#back1");
    var leftpos =  img.position().left;
    var toppos =  img.position().top;
    var div = document.createElement('div');
    div.style.position = 'absolute';
    div.style.top = toppos+"px";
    div.style.left = leftpos+"px";
    div.innerHTML = '<font> back </font>';
    div.style.background = '#CC0000';
    document.body.appendChild(div);
});

执行此操作后,我没有在图像上“返回”文本。 此处,无法检索正确位置,以将其传递到div标记的顶部左侧以指定其上的文本。 如果我在某个地方出错了,请建议/纠正我。

由于

4 个答案:

答案 0 :(得分:1)

在图像上添加文本的更好方法是使用css将图像放在背景上。它有很多好处。你可以在这里查看演示

demo

答案 1 :(得分:1)

来自http://api.jquery.com/position/

  

.position()方法允许我们检索元素相对于偏移父元素的当前位置。将此与.offset()进行对比,后者检索相对于文档的当前位置。

由于动态创建的div已附加到body,因此使用offset()代替position可能有所帮助。

答案 2 :(得分:0)

您应该访问此网站:

这是你的porpuse的一个很好的教程。我建议你学习更多jQuery,因为你的所有javascript代码都不使用ans jquery功能期望.ready()

答案 3 :(得分:0)

文字没有出现或根本不合适?

如果您没有看到文本,则可能需要在DIV元素中指定'z-index'属性。

要在javascript中添加属性,您可以阅读:How to add/update an attribute to an HTML element using JavaScript?