Код изображения JavaScript не работает
0 Tony The Lion [2009-10-08 15:25:00]
Что не так с этим кодом? Почему моя карта не работает?
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;
}
UPDATE:
Я восстановил свой код таким образом, но он все еще не работает:
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;
}
javascript imagemap
4 ответа
1 Решение Ovaj Onaj [2009-10-08 17:20:00]
здесь решение:
вы должны использовать
img.setAttribute( "usemap", '#testmap')
вместо:
img.usemap = "#testmap"
1 Viktor Jevdokimov [2009-10-08 15:29:00]
Вы создали экземпляр экземпляра "mymap", но не добавили (не добавляли) его в документ, как вы сделали это для "img" (appendChild).
document.createElement(name) создает экземпляр элемента, но не добавляет его в документ.
1 Ovaj Onaj [2009-10-08 16:00:00]
может быть, что порядок, в котором вы делаете что-то нехорошо.
Думаю, вам следует:
- создать элемент img (+ установить его attrs)
- создать элемент карты (+ установить его attrs)
- создать элемент области (+...)
- добавить область для отображения
- добавить карту в документ
- добавить изображение в документ
0 geowa4 [2009-10-08 15:34:00]
В дополнение к ответ Виктора:
img.usemap='#testmap';
...
mymap.name = 'testmap';
Вам, вероятно, нужно будет указать mymap
a id
в "testmap"