28.06.2012, 15:05
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
Загнать "area" в document.createElement('map')?
Создаю
var imageMap = new Ext.Element(document.createElement('map'));
потом хочу вставить туда координаты разные, но что-то они туда не вставляются...
imageMap.insertHtml('afterBegin', '<area shape="rect" coords="378,39,463,116" href="#">');
Почему? Что не так?
Пасиб.
|
|
28.06.2012, 17:08
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
JDev,
Не наю - обычно вставлял сразу map вместе с area в какой нибудь div
главное чтобы он шел после картинки для для мап карты в HTML коде
|
|
28.06.2012, 17:20
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
|
|
28.06.2012, 17:26
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
Вся фишка в том, что если вот такой фрагмент
Ext.get('target').set({usemap:'#plot_state_map'});
и потом явно в html прописано
<body>
<div id="#puk">
<map name="plot_state_map">
<!-- ImageReady Slices (shapes.jpg) -->
<area shape="rect" coords="378,39,463,116" href="#">
<area shape="poly" coords="286,34, 298,42, 308,54, 314,79, 307,103, 292,118, 270,125, 242,122, 227,112, 216,97, 212,73, 219,53, 227,43, 240,34, 264,29" href="#">
<!-- End circles -->
</map>
</div>
</body>
- то map определяется.
Если же
Ext.get('target').set({usemap:'#plot_state_map'});
var imageMap = new Ext.Element(document.createElement('div'));
imageMap.insertHtml('<map name="plot_state_map"><area shape="rect" coords="378,39,463,116" href="#"><area shape="poly" coords="286,34, 298,42, 308,54, 314,79, 307,103, 292,118, 270,125, 242,122, 227,112, 216,97, 212,73, 219,53, 227,43, 240,34, 264,29" href="#"></map>');
и
<body>
</body>
пустой боди - то ни в какую, в чем глюк?
Спасибо!!
|
|
28.06.2012, 17:30
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Не наю на jQuery нормально вставляет
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<body>
<script type="text/javascript">
var a='<img src="http://s019.radikal.ru/i634/1203/fe/1764114b61dd.jpg" width="563" height="600" border="0" usemap="#toon">\
<map name="toon">\
<area shape="rect" coords="12,13,188,51" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=3" target="_blank">\
<area shape="rect" coords="399,15,555,47" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=5" target="_blank">\
<area shape="rect" coords="405,56,553,93" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=2" target="_blank">\
<area shape="rect" coords="9,440,331,474" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=4" target="_blank">\
<area shape="rect" coords="11,478,235,512" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=6" target="_blank">\
</map>'
$("body").append(a)
</script>
</body>
|
|
28.06.2012, 17:33
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
Вы наверное не поняли вопрос.
мне нужно динамически создавать элемент.
Ок, тогда как это сделать динамически с помощью jQuery
|
|
28.06.2012, 17:49
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от JDev
|
Ок, тогда как это сделать динамически с помощью jQuery
|
Ну изменяйте переменную a
Мон сделать для удобства её массивом и заменять элементы массива
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<body>
<script type="text/javascript">
var a=[];
a[0]='<img src="http://s019.radikal.ru/i634/1203/fe/1764114b61dd.jpg" width="563" height="600" border="0" usemap="#toon">\
<map name="toon">';
a[1]='<area shape="rect" coords="12,13,188,51" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=3" target="_blank">';
a[2]='<area shape="rect" coords="399,15,555,47" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=5" target="_blank">';
a[3]='<area shape="rect" coords="405,56,553,93" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=2" target="_blank">';
a[4]='<area shape="rect" coords="9,440,331,474" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=4" target="_blank">';
a[5]='<area shape="rect" coords="11,478,235,512" href="http://ichliebehetalia.anihub.ru/viewtopic.php?id=6" target="_blank">';
b='</map>';
$("body").append(a[0]+b)
for(var i=1; i<a.length; i++){
$("body map[name='toon']").append(a[i])
}
</script>
</body>
вот вместо цикла функцию и свои данные
Последний раз редактировалось Deff, 28.06.2012 в 18:01.
|
|
28.06.2012, 18:02
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
Это ппц какой-то.
Делаю вот так.
var imageMap = $(document.createElement('div'));
$(imageMap).append('<map name="plot_state_map"><area shape="rect" coords="378,39,463,116" href="#"><area shape="poly" coords="286,34, 298,42, 308,54, 314,79, 307,103, 292,118, 270,125, 242,122, 227,112, 216,97, 212,73, 219,53, 227,43, 240,34, 264,29" href="#"></map>');
дебаггером смотрю - елемент создается, а append не срабатывает.
|
|
28.06.2012, 18:06
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
О чудо, вот так сработало!
$('body').append('<map name="plot_state_map"><area shape="rect" coords="378,39,463,116" href="#"><area shape="poly" coords="286,34, 298,42, 308,54, 314,79, 307,103, 292,118, 270,125, 242,122, 227,112, 216,97, 212,73, 219,53, 227,43, 240,34, 264,29" href="#"></map>');
а почему не работает так как делал я?
|
|
28.06.2012, 18:11
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
JDev,
если Вы пытались делать на jQuery
там нет такого варианта $(imageMap) - посколь либо тег либо класс либо id - все в кавычках вид селектора как и в css
imageMap переменная непонятно откель
создавать элементы вроде тоже не надо
сразу $('body').append('<div id=MyMap></div>')
$('#MyMap').append("чот - там")
Последний раз редактировалось Deff, 28.06.2012 в 18:16.
|
|
|
|