Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2012, 15:05
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 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="#">');


Почему? Что не так?
Пасиб.
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2012, 17:08
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

JDev,
Не наю - обычно вставлял сразу map вместе с area в какой нибудь div
главное чтобы он шел после картинки для для мап карты в HTML коде
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2012, 17:20
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Сообщение от Deff Посмотреть сообщение
JDev,
Не наю - обычно вставлял сразу map вместе с area в какой нибудь div
главное чтобы он шел после картинки для для мап карты в HTML коде
пойдет и вариант с div, но и с div работать не хочет.
Ответить с цитированием
  #4 (permalink)  
Старый 28.06.2012, 17:26
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 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>

пустой боди - то ни в какую, в чем глюк?

Спасибо!!
Ответить с цитированием
  #5 (permalink)  
Старый 28.06.2012, 17:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 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>
Ответить с цитированием
  #6 (permalink)  
Старый 28.06.2012, 17:33
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Вы наверное не поняли вопрос.
мне нужно динамически создавать элемент.
Ок, тогда как это сделать динамически с помощью jQuery
Ответить с цитированием
  #7 (permalink)  
Старый 28.06.2012, 17:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 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.
Ответить с цитированием
  #8 (permalink)  
Старый 28.06.2012, 18:02
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 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 не срабатывает.
Ответить с цитированием
  #9 (permalink)  
Старый 28.06.2012, 18:06
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 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>');


а почему не работает так как делал я?
Ответить с цитированием
  #10 (permalink)  
Старый 28.06.2012, 18:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 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.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взять ID у чекбоксов и загнать в массив bohdantheone Общие вопросы Javascript 9 12.01.2012 03:42