传单如何使用js

时间:2017-03-21 09:56:39

标签: javascript jquery html popup leaflet

你好我正在使用传单在地图上显示动态图像: 我有一个var img代表图像src的URL

var img="http://xx.xx.xx.xx/"

$("<img/>").attr("src", img).appendTo("#images");

我有一个弹出窗口(HTML),其中包含我的图片id:images

 var marker = L.marker([lat,lng]).bindPopup('<div id="images"></div>').addTo(map);

但是弹出窗口上没有显示图片?谁有简单的解决方案?感谢

1 个答案:

答案 0 :(得分:2)

我最好的猜测是(因为你没有分享完整的代码并且没有添加示例),当你没有附加到images的元素时,你试图访问它DOM还没有。您作为弹出内容提供的HTML字符串将变为实际元素,并在弹出窗口打开时附加到DOM。

这里最好的选择是不要使用HTML字符串作为弹出内容,而是使用实际的HTML元素并保留引用:

// Create element
var div = L.DomUtil.create('div', 'my-div');

将元素用作弹出内容:

// Create marker bind popup with content and add to map;
new L.Marker([0, 0]).bindPopup(div).addTo(map);

现在,您可以使用div引用添加新元素:

// Create img element and append to div
var img = L.DomUtil.create('img', 'my-img', div);
img.src = 'http://placehold.it/100x100';

这将在弹出窗口打开和关闭时起作用。