При подгрузке страницы через AJAX не выполняется Javascript (Jquery border-image)

программирование JavaScript веб дизайн jQuery AJAX

Сайт: http://goo.gl/4qkDe
Если зайти в левом меню на Мера Систем, то изображения уже не будут в рамках (однако если перезагрузить страницу, то скрипт выполнится)
Код:
$('#border').each(function(i){
$('span#border').borderImage('url("images/border.png") 20');
});
Как сделать чтобы он выполнялся без перезагрузки?

Примечание:
Dmitry, чуть подробнее можно?
upload_script('Путь до скрипта'); путь до модуля скрипта jquery.border-image.js?
И как конкретнее прописать ваш код?
вот мой код аякса

$(document).ready(function(){
$('#load').hide();
$("#load").load(AjaxContent.init);
$('#load').ajaxStart(function() {
$("#load").fadeIn('fast', function() {
});
});
$('#load').ajaxStop(function() {
$('#load').fadeOut('fast', function() {
// Animation complete.
});
});
});
$(function(){
AjaxContent.init({containerDiv:"#text",contentDiv:"#text"}).ajaxify_links("a.top");
//Меняем адресную строку
$('.top').click(function() {
var href = $(this).attr('href');
var title = $(this).html();
history.pushState({foo: 'bar'}, title, href);
return false;
});
});

Примечание:
Ell Rion, если подскажите какие моменты в js можно подправить, буду премного благодарен!

Примечание:
Как правильно дописать код по событию когда аякс сработал и вставил данные срабатывал скрипт border image?
Как ни пытался не срабатывает:
$(function(){AjaxContent.init({containerDiv:"#text",contentDiv:"#text"}).ajaxify_links("a.top");

Примечание:
Ell Rion, все заработало! Сам файл nav.js взял из одного урока.
$('#border').each(function(i){ оставил на главной и прописал в nav.js.

Единственное не совсем понял как в AjaxContent нужно добавить ещё пару свойств помимо двух уже имеющихся (хотя бы окончание). Что и куда нужно прописать?
Ответы:
конечно не выполнится нужно динамически подгружать
после того как получен ответ от аякса делай вызов вот этого upload_script('Путь до скрипта');
Предыдущий отвечающий что то не то написал явно.
Вам же я могу дать два совета (будут ли работать 100% не дам, потестите, просто сильно глубако вникать в вашу систему не хочется, это время).
первый вариант поместите вот этот свой кусок
$(document).ready(function(){
setTimeout(function(){
$('#border').each(function(i){
$('span#border').borderImage('url("images/border.png") 20');
});
}, 0);
})
в <script></script>в конец контента в контейнере <div id="container">.
Или же по событию когда аякс сработал и вставил данные допишите $('span#border').borderImage('url("images/border.png") 20');
Вообще если честно, то сам сайтик выглядит неплохо, но вот в JS есть много нюансов которые мне бросились в глаза и которые сделаны не лучшим образом. Вобщем удачи вам, работайте, набирайтесь опыта и развивайтесь
UPD и чуть не забыл. Вот например что у вас плохо. Для отрисовки рамки вы используете span с id="border". поменяйте его на class. Не дело это когда на странице несколько одинаковых id
UPD#2
nav.js вы сами писали или где то взяли?
если взяли, то несколько убогий плагин вышел однако. ну в любом случае момент когда аякс закончился, у нас тут
$(container_div).load(url+" "+content_div, //only loads the selected portion
 function(){
   //вот тут выполняется код после того как аяксовые данные пришли и были вставлены
   $(container_div).animate({opacity:1}); //and finally bring back the opacity back to 1
   
});
по хорошему в AjaxContent нужно добавить ещё пару свойств помимо двух уже имеющихся. Которые бы были кэлбэками основных событий, хотя бы одного (окончание аякса).
Надеюсь объяснил понятно и в нужную сторону толчёк дал, дальше попробуйте сами. если что спрашивайте
(Ell Rion) что то не дописал явно! ответ сервера на запрос Аякс приходит в виде текста или текста с разметкой не какие скрипты автоматом выполнятся не будут!!!  


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.