Вставить в див - 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, время: 09:07. |