需要jquery和ajax的帮助

时间:2011-06-24 03:17:45

标签: jquery ajax

伙计们,所以我解决了在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 :(得分:0)

好吧,你真的不需要任何这种嵌套。

只需从原始文档加载样式表即可。您无需动态加载它:

<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(); 
       });
   });
});
相关问题