JavaScript imagemap代码没有';行不通
这个代码有什么问题?为什么我的imagemap不工作JavaScript imagemap代码没有';行不通,javascript,imagemap,Javascript,Imagemap,这个代码有什么问题?为什么我的imagemap不工作 function createimg() { var img = new Image(); img.src='link/to/image'; img.alt='Next image'; img.id = 'span1'; img.style.zIndex = 10; img.style.position = 'absolute'; img.style.displ
function createimg()
{
var img = new Image();
img.src='link/to/image';
img.alt='Next image'; img.id = 'span1'; img.style.zIndex = 10;
img.style.position = 'absolute';
img.style.display='block';
img.style.top = '130px';
img.style.padding='10px';
img.style.left='440px';
img.usemap='#testmap';
img.className ='dynamicSpan';
document.body.appendChild(img);
var mymap = document.createElement('map');
mymap.name = 'testmap';
document.body.appendChild(mymap);
var areatag = document.createElement('area');
areatag.shape = 'rect';
areatag.coords = '900,200,1100,1000' ;
areatag.href = 'http://www.google.com';
mymap.appendChild(areatag);
document.body.appendChild(areatag);
return img;
}
更新:
我像这样重新构建了代码,但它仍然不起作用:
function createimg()
{
var img = new Image();
img.src='link/to/image';
img.alt='Next image';
img.id = 'span1';
img.style.zIndex = 10;
img.style.position = 'absolute';
img.style.display='block';
img.style.top = '130px';
img.style.padding='10px';
img.style.left='440px';
img.usemap='#testmap';
img.className ='dynamicSpan';
var mymap = document.createElement('map');
mymap.name = 'testmap';
mymap.id = 'testmap';
var areatag = document.createElement('area');
areatag.shape = 'rect';
areatag.coords = '0,0,500,500' ;
areatag.href = 'http://www.google.com';
areatag.target = '_blank';
//append area to map
mymap.appendChild(areatag);
// append map to document
document.body.appendChild(mymap);
//append image to document
document.body.appendChild(img);
return img;
}
您已经创建了元素实例“mymap”,但没有像为“img”(appendChild)所做的那样将其添加(而不是追加)到文档中
document.createElement(名称)创建元素的实例,但不将其附加到文档中。您已经创建了元素实例“mymap”,但没有将其添加(而不是附加)到文档中,就像您为“img”(appendChild)所做的那样 document.createElement(名称)创建元素的实例,但不将其附加到文档中。此外: 您可能需要为
mymap
提供一个id
的“testmap”以及:
您可能需要给
mymap
一个id
的“testmap”这可能是因为您做事的顺序不好
我认为你应该:
可能是你做事的顺序不好 我认为你应该:
img.usemap=“#testmap”请详细说明问题(是否存在任何错误、什么不起作用等)图像映射未在图像上创建。不能点击它!请详细说明问题(是否存在任何错误、什么不起作用等)图像映射未在图像上创建。不能点击它!我现在已经做到了。。。但没有区别。我的图像上仍然没有图像映射?还有什么不对的吗?我现在已经这么做了。。。但没有区别。我的图像上仍然没有图像映射?还有什么不对劲吗?刚刚发现。。。它也可能是img.useMap->,但请注意情况。问题是,html不区分大小写,但JS是。所以在html中可以是usemap、usemap、usemap、usemap等,而在JS中必须是usemap。幸运的是,setAttribute设置了html属性。所以这个案子(再次)并不重要。只是发现。。。它也可能是img.useMap->,但请注意情况。问题是,html不区分大小写,但JS是。所以在html中可以是usemap、usemap、usemap、usemap等,而在JS中必须是usemap。幸运的是,setAttribute设置了html属性。因此,这个案例(再次)并不重要。
img.usemap='#testmap';
...
mymap.name = 'testmap';