Вставить в див - js-код яндекс карты
Здравствуйте
Нужно по клику по ссылке, вставить в див - js-код яндекс карты Так не получилось, пожалуйста, помогите <script type="text/javascript"> zzz = '<script charset="utf-8" src="https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&width=600&height=450&lang=ru_RU&sourceType=constructor" type="text/javascript"></script>'; $( "#cap_map" ).click(function() { $('.cap_site_map').html(zzz); }); </script> <span id="cap_map">показать</span> <div class="cap_site_map"></div> |
<head> <meta charset="utf-8"> </head> <body> <span id="cap_map">показать</span> <div class="cap_site_map"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> var zzz = '<script charset="utf-8" src="https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&width=600&height=450&lang=ru_RU&sourceType=constructor" type="text/javascript"><\/script>'; $( "#cap_map" ).click(function() { $('.cap_site_map').html(zzz); }); </script> </body> |
rodiony4,
в документации наверняка есть, более корректные примеры ... но можно так <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $( "#cap_map" ).click(function() { var s = $("<script\>") $('.cap_site_map').empty().append(s); s.attr({src: "https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&width=600&height=450&lang=ru_RU&sourceType=constructor"}) }); }); </script> </head> <body> <span id="cap_map">показать</span> <div class="cap_site_map"></div> </body> </html> |
Мой саблайм вот на это просто ругался.
constructor" type="text/javascript"></script> |
j0hnik, рони, у меня старая библиотека jquery-1.6 и использовать более новую пока не могу (джумла, и многие компоненты, плагины и модули заточены на старую библиотеку)
Есть вариант для jquery-1.6? со старой jquery-1.6 ваш js не выполняется |
Цитата:
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> <script> $(function() { $( "#cap_map" ).one("click",function() { var s = document.createElement("script"); $('.cap_site_map')[0].appendChild(s); s.src= "https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&width=600&height=450&lang=ru_RU&sourceType=constructor" }); }); </script> </head> <body> <span id="cap_map">показать</span> <div class="cap_site_map"></div> </body> </html> |
рони, спасибо! теперь js выполняется, увидел ваш добавленный .one, но наверное можно и так - перед вставкой очищать див - .empty()
|
Часовой пояс GMT +3, время: 23:39. |