Вход

Просмотр полной версии : Не работает скрипт на странице загруженой с помощью .load


lila73
24.02.2014, 22:24
Помогите, пожалуйста.

Нужно, чтоб при нажатии кнопки, в блок #content подкружалась страничка со слайдером изображений из файла pic.html

Использую такой код


$(".scr").click(function () {

$("#content").load("pic.html")

});




А это внутри файла pic.html


<div id="slideshow">

<ul class="slides">
<li><img src="images/gallery/1.png" width="800" height="450" /></li>
<li><img src="images/gallery/2.png" width="800" height="450" /></li>
<li><img src="images/gallery/3.png" width="800" height="450" /></li>
</ul>

<span class="arrow previous"></span>
<span class="arrow next"></span>
</div>


<script src="js/script.js"></script>







Но слайдер не работает. Похоже, что не срабатывает script.js

При этом, если загрузить pic.html отдельно, то всё работает.

Собственно, вопрос в том, как подгрузить pic.html, чтоб скрипт работал?

Vlasenko Fedor
24.02.2014, 22:50
Попробуйте так
$(".scr").click(function () {
var doc = window.document;
$("#content").load("pic.html", function() {
var script = doc.createElement("script");
script.src = "js/script.js"; //проверьте правильность адреса, нет ли ошибки в консоли
doc.body.appendChild(script);
});
});

lila73
24.02.2014, 23:47
спасибо,но к сожалению не получилось. мне сказали, что javascript, подгружаемый через Ajax, работать не будет и скрипт script.js нужно подключить отдельно

Я сделала так

$(".scr").click(function () {

$("#content").load("pic.html" , function() {
$.getScript( "js/script.js")
});

});

но не помогло, увы(( видимо, что-то делаю не правильно

Vlasenko Fedor
25.02.2014, 00:21
Разница в вашем и моем варианте, только в том, что в моем скрипт при наличии будет брататься из кеша.
Смотрите в консоли ошибки и ли к примеру пропущенный кусок кода инициализации параметров слайдера между <script>//youcode</script>

lila73
25.02.2014, 00:47
спасибо, буду разбираться дальше))