Нужна помощь с JQuery и AJAX - PullRequest
0 голосов
/ 24 июня 2011

Ребята, поэтому я решил проблему с тем, как загрузить плагин после вызова ajax, но сейчас я работаю над тем, как загрузить плагин после вызова ajax внутри другого вызова ajax.Ajax-часть работает отлично, но плагин не загружается.Вот код:

   $(document).ready(function () {

       var container = $("#content");

       var link;
       $("a.links").click(function (event) {

           event.preventDefault();
           link = $(this).attr("href") + " #content";
           var link2 = $(this).attr("href");
           container.load(link, function () {

               if (link2 == 'gallery.html') {
                   $("a.glinks").click(function (event) {
                       event.preventDefault();
                       link2 = $(this).attr("href") + " #content";
                       $("#content2").load(link2, function () {

                           var link3 = $("<link>");
                           link3.attr({
                               type: 'text/css',
                               rel: 'stylesheet',
                               href: 'C:\wamp\www\css\jquery.lightbox-0.5.css'
                           });
                           $("head").append(link3);

                           $('#gallery a').lightBox();
                       });
                   });
               }
           });
       });

Я также попытался перезагрузить таблицу стилей снова.

1 Ответ

0 голосов
/ 24 июня 2011

Ну, тебе действительно не нужна эта вложенность.

Просто загрузите таблицу стилей из оригинального документа. Вам не нужно загружать его динамически:

<link type="text/css" rel="stylesheet" media="all" href="C:\wamp\www\css\jquery.lightbox-0.5.css">  

Примечание: было бы лучше, если бы href был относительным путем.

Теперь сократите JS до одного live клика:

$(document).ready(function () {

   $("a.links, a.glinks").live('click', function (event) {
       event.preventDefault();
       var link = $(this).attr("href") + " #content";
       var target_div = $(this).hasClass('glinks') ? "#content2" : "#content";

       $(target_div).load(link, function () {
           $(this).find('#gallery a').lightBox(); 
       });
   });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...